jsp - Struts2 - 另一个属性内的属性标记

标签 jsp struts2 iterator ognl struts-tags

我有一个迭代器,它迭代类对象的列表。

<s:iterator value="list" status="status" id="id">
    <tr data-id="<s:property value="#status.count"/>" 
             id="<s:property value="#status.count"/>" 
          title="insert">

        <s:iterator value="value" status="status">

            <s:property value="%{<s:property/>}"/>

            <td data-field="<s:property value="key"/>_<s:property/>">
                <s:text name="%{<s:property/>}"/></td>
        </s:iterator>
    </tr>
</s:iterator>

是否可以从 Struts2 中的另一个属性标签获取属性值?

最佳答案

有多种方法可以做到这一点。

最简单的是将当前迭代元素的实例插入值堆栈。您正在为第一个带有 id 的迭代器执行此操作(已弃用:应使用 var),您需要为第二个迭代器执行此操作。

还可以考虑更改 IteratorStatus 实例的名称,以便您可以(如果需要)从内部迭代中访问外部状态

<s:iterator value="list" status="status1" var="currentElement1">
    <tr data-id="<s:property value="#status1.count"/>" 
             id="<s:property value="#status1.count"/>" 
          title="insert">

        <s:iterator value="#currentElement1.value" status="status2" var="currentElement2">

            <s:property value="%{#currentElement2}"/>

            <td data-field="<s:property value="#currentElement1.key"/>_<s:property/>">
                <s:text name="%{#currentElement2}"/></td>
        </s:iterator>
    </tr>
</s:iterator>

还要考虑使用更有意义的名称...调用列表列表和对象可能会与应用程序的增长混淆。

关于jsp - Struts2 - 另一个属性内的属性标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179443/

相关文章:

java - Ajax 函数始终返回 0 并且不会继续进行

c++ - 以与数组相同的方式在 map 上循环

java - 获取表格:options value in AJAX

java - Restful Web 服务 Struts 2

java - 如何从数据库填充 JSP 中的下拉列表

java - 转发到相同的 struts2 操作时丢失 bean 的值

c# - 为什么不能在迭代器上下文中使用 unsafe 关键字?

c++ - 使用 vector 的函数崩溃,调试器说访问冲突读取位置

jsp - 什么是衡量JSP项目规模的好方法?

jsp - useBean 类属性 oracle.jsp.jml.JmlString 的值无效