[Seasar-user:2498] [S2JSF] f:paramによる引数指定の有無が混在するリンクの挙動
Kaisei HAMAMOTO
hamamoto
2005年 8月 14日 (日) 05:27:37 JST
浜本と申します。
S2JSF1.0.4について質問があります。
1つのActionを複数の<a m:action="...">タグから呼び出す場合、
<span m:inject="f:param" ... >でパラメータを指定する記述と指定しない記述
を混在させると、指定しない方のリンクをクリックした際に例外が発生します。
例えば以下のようにtest.htmlとTestActionImpl.javaを用意した場合、
-- test.html ------------------
<html xmlns:m="http://www.seasar.org/maya">
<head></head>
<body>
<a m:action="#{testAction.execute}">
<span m:inject="f:param" m:name="id" m:value="#{100}"/>
with param
</a>
<br/>
<a m:action="#{testAction.execute}">without param</a>
</body>
</html>
-- TestActionImpl.java ---------
public class TestActionImpl implements TestAction {
private Long id;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String execute() { return null; }
}
--------------------------------
"without param"のリンクをクリックした際に
org.seasar.framework.beans.IllegalPropertyRuntimeException:
[ESSR0059]クラス(action.impl.TestActionImpl)のプロパティ(id)の設定に失敗
しました。理由はjava.lang.NumberFormatException: For input string: ""
の例外が発生します。
なお、パラメータの型がStringの場合は例外は発生しません。また、
<a m:action="...">の代わりに<input type="submit" m:action="...">を用いた
ときも例外は発生しません。
この現象の対処法を教えていただけないでしょうか。
よろしくお願いいたします。
Seasar-user メーリングリストの案内