ソリューション
このソリューションはアプリケーションから提供される 3 つまたは 4 つの部分からなります。
1. ウィザードに表示されるテーブルに非表示テーブル列を定義し、これらの列のセルのデフォルト値を指定します (適切なデータユーティリティをこれらの列に関連付けます)。適切な場合には既存のデータユーティリティを使用できますが、通常は、このニーズを満たすアプリケーション固有のカスタムデータユーティリティを新規作成します。
このステップは任意であり、場合によっては省略できます。アプリケーションによって、ウィザードに表示されるテーブルに非表示の値が追加されるが、これらの値がテーブルの特定の行ではなくテーブル全体に関連付けられている場合、サーバーで生成されたデフォルト値を指定する手段はなく、このステップを実行する必要はありません。その場合、クライアント側のロジックによって、必要な場合には各値を特定のテーブルに関連付けて、1 つ以上の非表示の入力値がフォームデータに追加されます。
テーブルの特定の行に関連付けられている非表示の入力値がアプリケーションで必要とされる場合、そのテーブルに 1 つ以上の非表示列を定義し、クライアント側のロジックによってこれらの列の各セルの値を操作できます。テーブルビルダーはなんらかのデータユーティリティを各列に関連付ける必要があり、そのデータユーティリティはテーブル内の各オブジェクトに null 以外の値を返す必要があります (そうでない場合、オブジェクトの対応するフィールドはクライアントのデータストアに表示されません)。オブジェクトごとにデフォルト値を指定する必要がある場合、必要な値を返すデータユーティリティを使用します
2. ウィザードの JSP ファイルに、アプリケーションから提供された JavaScript ファイルを読み込む <script/> ブロックを追加します。この JavaScript には、非表示データを操作するカスタムロジックが含まれます。
3. 非表示データを操作するカスタムロジックを含む JavaScript ファイルを作成します。
4. サブミットされたフォームから非表示データフィールドを抽出してこれらのフィールドに対して必要な処理を実行するようにウィザードのフォームプロセッサを修正します。
前提となる知識
この結果を得るためには、以下について理解している必要があります。
Windchill Web ページの基本的な開発
JavaScript
JCA/MVC テーブルビルダー
JCA フォーム処理
ソリューションエレメント
エレメント
タイプ
説明
<MyTableBuilder.java>
Java クラス
このファイルは、アプリケーションのウィザードに表示されるテーブルを定義します。このクラスを修正して、サーバーからデフォルト値が渡される非表示のテーブル列の定義を追加します。このエレメントはオプションであり、アプリケーションが各テーブル行に非表示の値を必要としない場合には不要です。
<MyScript.js>
JavaScript
このファイルには、サーバーにサブミットされるフォームデータの非表示の入力を追加、修正、除去する、アプリケーションのクライアント側ロジックが含まれます。
<MyWizard.jsp>
JSP
このファイルはウィザードのページを定義します。このファイルを修正して、非表示データエレメントを操作するロジックを含む JavaScript ファイルを読み込む <script/> ブロックを追加します。
<MyFormProcessor.java>
Java クラス
このファイルには、ウィザードからサーバーに送信されるフォームデータ用の、アプリケーションのフォームプロセッサが含まれます。このクラスで、クライアント側の JavaScript ロジックによって生成または操作された非表示データを抽出して処理します。
これは役に立ちましたか?