繁体   English   中英

使用 Struts2<s:property> 标记<display:table>标签

[英]Use Struts2's <s:property> tag in <display:table> tags

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

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

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

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

我尝试使用<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" />

您需要使用#attr. 在 DisplayTag 列中使用<s:property /><s:if />符号; 您还需要#attr.之后使用<display:table>标记中指定的uid #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

请尝试以下显示标签内的代码。

1.) #attr.objectName :页面、请求、会话或应用程序范围中的属性(按该顺序搜索)
2.) row是您用于display:tableid
3.) authNo :您的自定义属性

<s:if test="%{#attr.row.authNo != null}">
    <display:column title="Status">Your custom message</display:column>
    </s:if>

希望可以帮到你..!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM