viernes, 30 de noviembre de 2007

Displaytag

Una tabla con total de la columna ID, (no muy util pero rápido de ejemplificar):
<display:table name="workflowList" id="workflows" pagesize="5"
class="list" requestURI="workflowList.action"
decorator="org.displaytag.decorator.TotalTableDecorator">
<display:column sortable="true" headerClass="sortable"
href="workflow!input.action" paramProperty="id" paramId="workflowId">
<img src="images/view.gif">
</display:column>
<display:column property="id" title="Id" sortable="true"
headerClass="sortable" format="{0,number,0}" total="true"/>
<display:column property="name" title="Name" sortable="true"
headerClass="sortable" />
<display:column property="state" title="State" sortable="true"
headerClass="sortable" />
<display:column property="currentStepsNames" title="Current Steps"
sortable="true" headerClass="sortable" />
<display:column property="owner" title="Owner" sortable="true"
headerClass="sortable" />
<display:column property="actionsNames" title="Actions" sortable="true"
headerClass="sortable" />
</display:table>

viernes, 9 de noviembre de 2007

Access ServletContext in Struts2

A través de un método estático:

ServletActionContext.getServletContext()

jueves, 8 de noviembre de 2007

Struts2 & Displaytag

No solo para el acceso de displaytag, sino para cualquier acceso en el jsp se puede mapear una variable de la stack de struts2 a otra variable (en el scope deseado):

<s:set name="jobz" value="jobs" scope="request" />

<display:table name="jobz"/>

Mas data en:
exposing struts2
.

miércoles, 7 de noviembre de 2007

Struts2 without Spring search for SpringObjectFactory

Si en el arranque el container busca la factory de spring para crear los objetos de struts posiblemente se deba a que está el struts-spring-plugin.jar en el classpath. Lo que pasa es que al estar en el classpath se carga automaticamente el .xml de este jar que define la factory de spring, sobreescribiendo la config del struts-default.xml ubicado en struts-core.jar.

martes, 6 de noviembre de 2007

Struts2 implements Preparable

La interface Preparable define un único metodo prepare() que se ejecuta antes de cualquier action de la clase, permitiendo un punto en común para todos las entradas para, por ejemplo levantar un parámetro desde web a un field de la clase.