簡體   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