一尘不染

使用Struts2的 标记在 标签

jsp

我正在尝试使用DisplayTag将列表添加到表中。

当我以通常的方式将list属性添加到列时,一切工作正常:

<display:column property="status" title="Claim Status"/>
<display:column property="authNo" title="Authorization Number" href="authSlipMasterAction">

现在,我想检查authNo是否为空;如果为空白,则不提供链接,那么如何在标签中使用<s:if test=''>和?<s:property value="">``<display:table>

我尝试使用显示值,<s:property value="authNo"/>但未显示任何值(我必须显示值,因为我想检查条件)

这是我的代码

   <display:table uid="myTable" id="display-tag" name="session.claimReportList">
   <display:column title="Authorization No"> 
    <s:property value="#attr.myTable.transNo" />
</display:column>

我也尝试过

      <s:property value="#session.myTable.transNo" />

阅读 168

收藏
2020-06-10

共1个答案

一尘不染

您需要#attr.<s:property/><s:if/>DisplayDisplay列中使用符号;您还需要使用后面的标记中uid指定<display:table>的名称#attr.来访问您的对象。

例如:

<display:table requestURI="actionURL" uid="myTable" />

    <display:column title="authNo">    
        <s:property value="#attr.myTable.authNo" />
    </display:column>

</display:table>

OGNL基础-Struts 2命名对象

#attr['foo'] 要么 #attr.foo

访问PageContext(如果可用),否则搜索 request/ session/ application分别

PS:我想考虑一下一些较新的网格,例如jqGridDataTables

2020-06-10