jump to navigation

Apache Struts

Desde principios finales de los años 90 (siglo XX) y principios del siglo XXI, la búsqueda de patrones de programación masiva con calidad y rápida tomó un impulso importante en las empresas comerciales. El patrón MVC (Model-View-Controller) teórico y díficil de respetar se difundió por la red de conocimientos. Apache lo tomó y sacó al mercado su popular producto Apache Struts, el cual corre sobre el servidor de aplicaciones Apache Tomcat.

Official Site: http://struts.apache.org/

PARTE PRACTICA CONCEPTUAL

Antes de iniciar es importante aclarar que invocar es diferente a mostrar/invocar.

La forma en que he organizado la lógica de los actions para las diferentes aplicaciones ha sido:
A) Página Inicial:
– En el menú defino link de invocación inicial para el primer Action,
– En un método de la clase action construyo la lógica necesaria, por ejemplo: onInicio(),
– Muestro la página JSP rellena con los datos a través de las variables necesarias,
– En esta página muestro la lista de objetos existentes, también muestro la opción de Eliminar (por ejemplo, invoco la lógica del método onEliminar()) el cual siempre necesita un Identificador,
– Además muestro los links para agregar un nuevo elemento o modificar uno existente.

B) Página de Crear:
– Al mostrar la página: Inicializo los campos en vacío,
– Al aceptar o hacer submit: Obtengo los campos directamente del ObjetoForm,
– Valido la completitud de los campos,
– Invoco la lógica de acceso a datos.

C) Página de Modificar:
– Al mostrar la página: Obtengo todos los campos del registro dado y relleno los campos con los valores originales,
– Al aceptar o hacer submit: Obtengo los campos directamente del ObjetoForm,
– Valido la completitud de los campos,
– Invoco la lógica de acceso a datos para realizar los cambios.

PARTE PRACTICA TECNICA

Algunos aspectos importantes y útiles al momento de manipular y explotar el archivo strut-config.xml podría resaltar:
A) el elemento “ressage-resource” que define la ruta del archivo properties que almacena los mensajes que deseemos manejar.

<message-resources parameter=”net/cantv/shaAccidente/commons/AplicacionSHAACCIDENTE/mensajes.properties”/>

B) el atributo booleano “validate” de los elementos “Action” que permite activar o no el método con el mismo nombre del ObjetoForm que estemos manejando en el action respectivo. Esto es útil cuando creas o modificas un objetoForm pero no es útil cuando estas realizando otros actions pues puede complicar/detener el procesamiento si no es un objeto válido según se haya definido en la lógica del método validate del objetoForm.

<action path=”/cargarOlvidoPassword”
type=”net.cantv.shaAccidente.fuerzaLaboral.FuerzaLaboralAction”
parameter=”event”
validate=”true”>
</action>

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: