ここでは、よくあるフォーム問題と、この問題の解決方法について説明します。
<script> タグをユーザーフォームに追加したが、ユーザーフォームにアクセスしようとすると次の例外が表示される場合。
java.lang.NoClassDefFoundError: org/mozilla/javascript/NativeScript
WEB-INF/lib/javascript.jar ファイルをアプリケーションサーバーのクラスパスに配備する必要があります。例を示します。
Tomcat をサービスとしてインストールした場合は (Windows のみ)、次のレジストリキーを編集します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tomcat\Parameters\JVM Option Number 0
JVM Option Number 0 キー文字列値があればどこにあってもその終わりに、jar ファイルへのパスを付けます。例を示します。
;C:\tomcat\lib\javascript.jar
コマンドラインから Tomcat を起動したばかりの場合は、jar ファイルを tomcat/lib ディレクトリに移動します。
タブ付きのユーザーフォームをカスタマイズしたが、User Creation でフォームにアクセスしようとすると、次の例外が表示される場合。
com.waveset.util.WavesetException: Maximum form stack depth exceeded
スタックに転送できるハードコード要素は 1000 までと制限されており、この上限値を超えました。
Field コンテナ名に一致する FieldRef または Field を含む Field コンテナを検出するチェックを追加した場合、気づかないうちに循環参照をフォームに作成してしまった可能性があります。この問題を解決するには、FieldRef または Field 名を変更します。
LDAP ユーザーのフォームに MultiSelect フィールドを使用し、このフィールドのユーザーにグループを割り当て、ユーザーを編集し直してから、両側の MultiSelect に同じグループが表示された場合。例を示します。
左側の値。 cn=Group1,dc=test,dc=Com
右側の値。 cn=Group1,dc=test,dc=com
この例では、LDAP baseContext リソースフィールドが dc=test,dc=com に設定されており、LDAP グループが dc=test,dc=Com としてリストされています。LDAP は大文字と小文字を区別しませんが MultiSelect ウィジェットは大文字と小文字を区別するため、この問題が発生しています。
この問題を多少とも解決するには、LDAP リソースの baseContext を LDAP リソース dc=test,dc=Com の大文字と小文字に合わせて変更するか、<upcase> XPRESS 関数を使用して左側と右側の両方の表示を大文字にします。