有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在JSP中访问动态属性(Struts2)

在操作中,我重新设置了sent参数

    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']}"/>,我得到正确的值

有什么线索吗?求你了


共 (1) 个答案

  1. # 1 楼答案

    通过一个小技巧,我得到了它:

    <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>