Используйте тег <s: property> в Struts2 в тегах <display: table>

Я пытаюсь добавить список в таблицу с помощью 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" />

2 ответа

Решение

Вам нужно использовать #attr. запись в вашем <s:property /> или же <s:if /> когда внутри столбца DisplayTag; Вы также должны использовать 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 -Struts2 Названные объекты:

#attr['foo'] или же #attr.foo

Доступ к PageContext если доступно, иначе ищет request / session / application соответственно

PS: я бы хотел взглянуть на более новую сетку, такую ​​как jqGrid или DataTables.

Пожалуйста, попробуйте следующий код внутри тега дисплея.

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>

Надеюсь, что это может помочь вам..!!

Другие вопросы по тегам