[Seasar-user:14199] Re: [s2struts]<s2struts:link>で生成されたリンク
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 5月 15日 (木) 19:41:45 JST
中村(taedium)です。
> <s2struts:link>を使用して生成したリンクをブックマーク登録して
> 再度アクセスできるようにしたいと考えています。
> [例]
> <s2struts:link action="#{hogeAction.goMoge}" cancel="true">
> リンク
> </s2struts:link>
>
> しかしTomcatを起動してすぐブックマークから実行すると
> 以下のExceptionが発生してしまいます。
> java.lang.IllegalArgumentException: The path of an ForwardConfig cannot be null
> 一度、<s2struts:link>を記述してあるページを読み込むと発生しなくなります。
現在の<s2struts:link>の仕組みでは、
一度画面をレンダリングした後でなければ
<s2struts:link>で生成されるリンクにアクセスできません。
画面のレンダリング時に
呼び出し先のActionのメソッドを記憶するようになっているからです。
代替策ですが、Strutsの<html:link>を使ってパラメータでメソッドを
指定するのはどうでしょうか。
無設定Strutsを使っている場合は、Actionのクラス(インタフェース)
で次のように@StrutsActionのparameter属性に値を指定します。
@StrutsAction(parameter = "method")
public class HogeAction {
}
JSPでリンクの定義は次のようにします。
<html:link action="/hoge?method=goMoge">
<s2struts:link>の現在の挙動は見直して
画面をレンダリングしなくても生成したリンクに
アクセスできるようにしたいと思います。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内