在操作中,我重新设置了发送的参数。
for(Enumeration<String> enumParams = request.getParameterNames(); enumParams.hasMoreElements();) {
String name = enumParams.nextElement();
String value = request.getParameter(name);
request.setAttribute(name, value);
}
在 JSP 上我想访问请求属性值。
<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']}"/>
,我得到了正确的值...
有什么线索吗?请。
最佳答案
通过一个小技巧,我得到了它:
<s:iterator value="variables">
<s:set var="mySign" value="%{sign}" name="mySign" scope="request"></s:set>
<jsp:useBean id="mySign" class="java.lang.String" scope="request" ></jsp:useBean>
<input type="text"
id="<s:property value="sign"/>"
name="<s:property value="sign"/>"
value="<%=request.getAttribute(mySign)%>">
</s:iterator>
关于java - 如何在 JSP (Struts2) 中访问动态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4806222/