Apcoordinator ユーザーズガイド |
目次
![]() ![]() |
第3部 Webアプリケーションの開発 | > 第17章 APIを使ったプログラミング | > 17.1 セション管理 |
uji:dispatch
タグ動作中は二重処理が防止されます。ビジネスクラスはuji:dispatch
タグの動作中に実行されるため、ビジネスクラス実行中の二重処理が防止できます。
uji:form
タグのpostOnceアトリビュートを使う
uji:form
タグのpostOnceアトリビュートにtrueを指定すると、フォームの送信を1回のみに制限します。この場合、二重処理はブラウザ上で防止され、2回目以降のリクエストはサーバに送信されません。ただし、JavaScriptを使用して実現しているため、JavaScriptを無効にしているブラウザでは動作しません。
uji:form
タグによる二重処理の防止機能は、uji:formタグのpostOnceアトリビュートの使用方法で説明します。
Apcoordinator V5.0L10、INTERSTAGE WEBCOORDINATORで提供していたuji:controlSection
タグは提供されません。uji:controlSection
タグを使ったJSPは修正しなくても実行できますが、uji:controlSection
タグを使用しない場合と同じ動作となります。 詳細は旧バージョンとの互換情報を参照してください。
2) セションクラスをHttpControlStateProfileから継承します。
<FORM> <uji:controlState /> ... </FORM>
3) セションクラスで、機能に対応したメソッドをオーバライドして、必要なパラメタを返却します。
package sample; public class SampleSession extends com.fujitsu.uji.http.HttpControlStateProfile { }
|
|
javax.servlet.http.encodeURL
クラスのencodeURL
メソッドを利用しています。encodeURL
メソッドの実装に依存します。
|
デフォルトではPOSTメソッドによるリクエストに対して二重処理を防止します。
GETメソッドによるリクエストの二重処理も防止する場合は、初期化パラメタuji.doublegetdisabled
を設定してください。
|
uji:formタグのpostOnceアトリビュートによる二重処理の防止機能は、同じ画面から再度フォームを送信することを防ぎます。この機能はJavaScriptを利用して、フォーム送信時にフラグを立てることにより実現されます。JavaScriptを無効にしてあるブラウザでは動作しません。
|
|
skipScript="true"の指定は、フォーム送信時のJavaScriptの実行を抑止するための機能です。この指定のあるボタンが押された場合は、二重処理を防止するJavaScriptだけでなく、入力値をチェックするJavaScriptも実行されません。
目次
![]() ![]() |