我有一個類Message.java
一個名爲origin
和destination
Struts 2. s:屬性。如何獲取名稱作爲參數傳遞給jsp的變量的值?
Message.java
public class Message{
private Location origin;
private Location destination;
//Getters and setters correctly defined
}
Location.java
public class Location{
private String address;
}
MessageAction.java同類型Location.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
的價值。我嘗試了幾種組合並搜索了一段時間,但是我還沒有找到任何東西。
location.jsp
<s:set name="variableName">${param.variableName}</s:set>
<s:property value="%{%{variableName}.address}" />
如果我寫的變量直接的名字,我正確地接收自己的價值,所以在操作正確設置它們。
<s:property value="origin.address" />
<s:property value="destination.address" />
請參閱http://stackoverflow.com/q/16712395/1700321。 –