started form example jsp struts2 displaytag ognl

jsp - form - Utilice la etiqueta<s: property> de Struts2 en las etiquetas<display: table>



struts2 tags documentation (2)

Estoy tratando de agregar una lista a una tabla usando DisplayTag.

Todo funciona normalmente cuando agrego una propiedad de lista a una columna de la manera habitual:

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

Ahora, quiero verificar cuando authNo no está en blanco; si está en blanco, entonces no proporcione el enlace, entonces ¿cómo puedo usar <s:if test=''''> y <s:property value=""> en la etiqueta <display:table> ?

Intenté mostrar el valor usando <s:property value="authNo"/> pero no se muestra ningún valor (tengo que mostrar el valor porque quiero verificar la condición)

Este es mi código

<display:table uid="myTable" id="display-tag" name="session.claimReportList"> <display:column title="Authorization No"> <s:property value="#attr.myTable.transNo" /> </display:column>

También he intentado

<s:property value="#session.myTable.transNo" />


Intenta seguir el código dentro de la etiqueta de visualización.

1.) # attr.objectName : atributo en la página, solicitud, sesión o alcance de la aplicación (buscado en ese orden)
2.) row es el id que has usado para display:table .
3.) authNo : su propiedad personalizada.

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

Espero que te pueda ayudar .. !!


Necesitas usar #attr. notación en su <s:property /> o <s:if /> cuando está dentro de una columna DisplayTag; también necesita usar el uid especificado en la etiqueta <display:table> después del #attr. para acceder a tus objetos

Por ejemplo:

<display:table requestURI="actionURL" uid="myTable" /> <display:column title="authNo"> <s:property value="#attr.myTable.authNo" /> </display:column> </display:table>

Desde los conceptos básicos de OGNL - Struts 2 named objects :

#attr[''foo''] o #attr.foo

Acceso a PageContext si está disponible; de ​​lo contrario, busca request / session / application respectivamente

PD: Considero echar un vistazo a una cuadrícula más nueva como jqGrid o DataTables .