0
在操作中,我重新設置發送的參數。如何訪問JSP中的動態屬性(Struts2)
for(Enumeration<String> enumParams = request.getParameterNames(); enumParams.hasMoreElements();) {
String name = enumParams.nextElement();
String value = request.getParameter(name);
request.setAttribute(name, value);
}
在JSP上,我想訪問request屬性值。
<s:iterator value="variables">
<input type="text"
id="<s:property value="sign"/>"
name="<s:property value="sign"/>"
value="<s:property value="%{#attr['sign']}"/>" />
</s:iterator>
(變量與區域符號等對象)
目前我得到<s:property value="%{#attr['sign']}"/>
只有變量的符號,而不是價值。它不會遺漏'sign'
。
生成的HTML:
<input id="A" name="A" value="A" type="text">
所以,如果硬編碼符號這樣<s:property value="%{#attr['A']}"/>
,我得到正確的值...
任何線索?請。
我沒有在這仔細一看,但只要注意這些事情,行程達人:1)「A」不是一個字符串,但在OGNL字符,如果OGNL在單引號中獲得多個字符,它將產生一個字符串,但單個字符必須使用「字符」。2)請求參數不是Map類型,而是Map 3 )struts s:iterator標籤可以處理任何Iterable,所以它可以直接與#request地圖一起工作,這應該能夠刪除動作代碼(我認爲在動作中使用代碼比在視圖中更好,但是在這種情況下,你仍然需要迭代) –
Quaternion
2011-01-26 19:02:28