Используйте тег <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>
Надеюсь, что это может помочь вам..!!