[Seasar-user:16163] 【SAStruts】removeActionFormの対象スコープについて
台北猫々
[E-MAIL ADDRESS DELETED]
2008年 10月 29日 (水) 12:33:54 JST
いつもお世話になっております。
茂木です。
ちょっとあれっ?と思ったのですが
removeActionFormは、セッションスコープだけでなく、リクエストスコープのアクション
フォームもクリアする場合があるのでしょうか?
というのも、コードなにがしの下記のサンプルにおいて、
http://code.nanigac.com/source/wiki/view_title/597/2-1+電子カタログを作ろう<http://code.nanigac.com/source/wiki/view_title/597/2-1+%E9%9B%BB%E5%AD%90%E3%82%AB%E3%82%BF%E3%83%AD%E3%82%B0%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86>
CatalogDetailAction.javaのshowメソッドのアノテーションを
@Execute(validator = false, urlPattern = "show/{id}")
↓
@Execute(validator = false, urlPattern = "show/{id}", removeActionForm =
true )
とすると、
catalogDetail.jspの中で、catalogDetailFormのプロパティを参照しても空文字になって
しまいます(もちろん、removeActionForm = trueを除けば正常に参照できます)。
CatalogDetailAction.javaのcatalogFormプロパティはセッションスコープに格納
されており、catalogDetailFormはリクエストスコープに格納されています。
期待する動作としては、セッションに格納されているcatalogFormのみをクリアして
欲しいのですが、そういったものではないのでしょうか?
#情報が重複しますがアクションクラスのソースです。
【CatalogDetailAction.java】
public class CatalogDetailAction { @Resource protected CatalogService
catalogService; @ActionForm @Resource protected CatalogDetailForm
catalogDetailForm; //セッションスコープにあるCatalogFormインスタンスをインジェクションします。 @Resource
protected CatalogForm catalogForm; // 1)商品詳細の表示 @Execute(validator = false,
urlPattern = "show/{id}", removeActionForm = true ) public String show() {
// 2)セッションから商品番号に該当するレコードを取得して、フォームにコピーします。
Beans.copy(catalogForm.catalogList.findById(catalogDetailForm.id),
catalogDetailForm).execute(); return "catalogDetail.jsp"; } }
以上、失礼します。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20081029/cce72981/attachment-0001.html>
Seasar-user メーリングリストの案内