我正在尝试使用DisplayTag将列表添加到表中。
当我以通常的方式将列属性添加到列时,一切正常:
<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" />
答案 0 :(得分:1)
在DisplayTag列中,您需要在#attr.
或<s:property />
中使用<s:if />
表示法;您还需要use the uid
specified in the <display:table>
tag after the #attr.
来访问您的对象。
例如:
<display:table requestURI="actionURL" uid="myTable" />
<display:column title="authNo">
<s:property value="#attr.myTable.authNo" />
</display:column>
</display:table>
来自OGNL Basics - Struts 2 Named Objects:
#attr['foo']
或#attr.foo
如果可用,请访问
PageContext
,否则搜索 分别为request
/session
/application
P.S:我会考虑查看一些较新的网格,例如jqGrid或DataTables。
答案 1 :(得分:0)
请在显示标记内尝试以下代码。
1。) #attr.objectName :页面,请求,会话或应用程序范围内的属性(按此顺序搜索)
2.)行是您id
使用的display:table
3.) authNo :您的自定义属性。
<s:if test="%{#attr.row.authNo != null}">
<display:column title="Status">Your custom message</display:column>
</s:if>
希望它可以帮助你...... !!