は、私はクラスを持っているMessage.javaStruts 2:s:プロパティ。名前がパラメータとしてJSPに渡される変数の値を取得する方法は?
public class Message{
private Location origin;
private Location destination;
//Getters and setters correctly defined
}
Location.java
public class Location{
private String address;
}
MessageAction.java origin
とdestination
と呼ばれる同じタイプLocation.java
の二つの変数を持つMessage.java
public class MessageAction {
private Message message;
//Getters and setters correctly defined
}
私はコードを再利用したいので、共通のJSPを作成して、これらの変数の名前をパラメータで渡しました。 (もちろん、コードはこれが唯一の基本的な例である、より複雑なので、それは本当に私は、コードを再利用することができます)
message.jspここ
<s:push value="message">
<s:include value="/jsp/location.jsp">
<s:param name="variableName" value="'origin'" />
</s:include>
<s:include value="/jsp/location.jsp">
<s:param name="variableName" value="'destination'" />
</s:include>
</push>
私は、問題が来ます%{variableName}.address
の値を表示する方法がわかりません。私はいくつかの組み合わせを試み、しばらくグーグルが私は何も見つかりませんでした。私は直接変数の名前を書いた場合
<s:set name="variableName">${param.variableName}</s:set>
<s:property value="%{%{variableName}.address}" />
location.jspは、私が正しくその価値を受け取り、そのアクションは、それらを正しく設定しています。
<s:property value="origin.address" />
<s:property value="destination.address" />
http://stackoverflow.com/q/16712395/1700321を参照してください。 –