struts2-jquery 迭代器中对话框的唯一 ID



>我有一个包含许多行的表,每行都有一个指向使用 struts2-jquery 的模态对话框的链接。我需要为每个对话框设置一个唯一的 ID 才能进行设置,但我尝试了多个选项但没有运气。

        <s:iterator value="myBeanList" var="rrSum" status="status">
            <tr>
                <td>
                    <s:url id="ajax%{status.index}" action="smoRiskRegister" var="ajaxURL">
                        <s:param name="requestRiskID"><s:property value="#rrSum.rid" /></s:param>
                    </s:url>
                    <sj:dialog id="dialog3" href="%{ajaxURL}" title="Testing" />
                    <sj:a openDialog="dialog3"><s:property value="#rrSum.rid" /></sj:a>
                </td>
            </tr>
        </s:iterator>

因此,我想要的不是"dialog3",而是dialog%{status.index}之类的东西。我可以将 ID 设置为此...但是如何在锚标记中引用它呢?不幸的是,对话框没有 var 参数:(

只需在

锚标记中使用%{#status.index}即可。

<sj:dialog id="dialog%{#status.index}" href="%{ajaxURL}" title="Testing" />
<sj:a openDialog="dialog%{#status.index}"><s:property value="#rrSum.rid" /></sj:a>

注意#符号,当访问的对象不在 OGNL 根中时,必须使用它。

操作实例始终推送到值堆栈上。由于操作位于堆栈上,并且堆栈是 OGNL 根,因此对操作属性的引用可以省略 # 标记。但是,要访问 ActionContext 中的其他对象,我们必须使用 # 表示法,以便 OGNL 知道不查找根对象,而是查找 ActionContext 中的其他对象。

在 Struts2: http://struts.apache.org/2.x/docs/ognl.html 中阅读有关 OGNL 的信息。

最新更新