2

次のスニペットを含む Struts 2 JSP ページがあります。

<s:property value="%{myVariable}" />

の値を正しく出力しますmyVariable

myVariableここで、 の値に基づいて結果を計算するアクションのメソッドに渡したいと思いますmyVariable。私は次のことを試しました:

<s:property value="%{myMethod(myVariable)}" />

の最初の行はmyMethod、デバッグ ステートメントを出力します。上記のスニペットでは、このデバッグ ステートメントは出力されませんでした。

次に、これを試しました:

<s:property value="%{myMethod(#myVariable)}" />

私のデバッグステートメントは印刷されましたが、myVariable経由で印刷されたときに値があったとしても、の値はnullとして渡されました<s:property value="%{myVariable}" />

ページ変数を Struts 2 メソッドに渡すための正しい構文は何ですか?

4

2 に答える 2

0
<s:property value="%{myMethod(myVariable)}" />

は正しい構文ですが、シグネチャを持つメソッドの値を取得するには

public String myMethod(String value){
  return value;
}

のゲッターが必要myVariable

public String getMyVariable() {
  return myVariable;
}

値をmyVariablelikeに設定した場合

private String myVariable = "myValue";

次に、JSP で出力する必要があります。引数が他の型の場合、変換されStringてメソッドが呼び出されます。

于 2013-04-29T23:50:05.227 に答える
0

ターゲットオブジェクトが不足していると思います、例

<s:property value="%{myTarget.myMethod(myVariable)}" />

詳細: Struts 2 OGNL でメソッド呼び出しにパラメーターを渡す方法

于 2013-04-29T21:12:02.250 に答える