Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23-03-2008, 12:24:53
Gbas
 
Mensajes: n/a
Predeterminado Re: Empezando con Struts. Un par de dudas sencillas

On 22 mar, 20:18, Claudio <clau...***example.org> wrote:
> On 2008-03-14, jov...***gmail.com <jov...***gmail.com> wrote:
>
> > Buenas. Estoy empezando a aprender Struts y me surgen un par de dudas
> > tontas. Si alguien pudiera respondérmelas se lo agradecería.
> > _ Siempre hay que asociar un actionform (con el atributo name) en el
> > mapeo de la acción del struts-config o se puede tener una acción sin
> > que necesariamente exista un formbean?

>
> En algún sitio tendrás que guardar los datos que se rellenan en los
> campos ¿ no ?


Hay muchas acciones (la mayoría) que no precisan formularios. Además
la DTD lo dice bién claro, obligatorio es únicamente el PATH. Es muy
aconsejable poner el TYPE, y todo lo demás es opcional. Así es normal
tener una entrada en struts-config.xml del tipo:

<action path="/cargaLista"
type="com.empresa.proyecto.actions.CargadoresActio n"/>

y usar un tag del tipo :

<html:link page="/cargarLista.do">Cargame las listas</html:link>

Resumiendo, utilizaremos el attributo name="nombredelFormulario"
cuando estemos recibiendo datos desde un formulario o cuando vayamos a
hacer una prepopulación del mismo. De otro modo, pues no.

>
> > _ Según leo, los campos del formulario de la petición se llaman igual
> > que los campos en el actionform para que se rellenen. No pueden ser
> > diferentes bajo ninguna circunstancias? entonces, para poder
> > reutilizar un mismo actionform en diferentes contextos (peticiones) en
> > todos se debería llamar igual, no?

>
> Bueno, no hay problema en que se llamen igual. Es más, por claridad de
> código conviene que sea así. Si el contenido de los formularios es
> el mismo desde el punto de vista lógico, usas el mismo bean. Si son
> distintos, usas distintos beans. Si tienes que mantener el código, lo
> agradecerás.
>
> > Me explico: una aplicación supertonta con una página inicial con dos
> > campos para autenticación (usuario y clave) y en otra parte hay una
> > entrada de articulos con dos campos también (id y descripción). En
> > ambos casos son dos campos de texto y vería un poco absurdo tener que
> > definir dos actionforms que serían iguales a todos los
> > efectos...entonces en los formularios de la petición forzosamente
> > tendría que poner el mismo nombre? que usuario y clave fueran campo1 y
> > campo2, por ejemplo, al igual que id y descripción que también se
> > llamarían campo1 y campo2?

>
> No lo hagas. Haz dos beans distintos. Los ides de desarrollo dan
> facilidades para hacerlo: basta definir los campos y pulsar el botón del
> menu contextual. El trabajo es casi 0 y el código es infinitamente más
> claro.
>
> De todas formas, si quieres hacerlo puedes con struts. Reutilizas el
> mismo bean, el mismo actionform pero con distinto .jsp y pasas la lógica
> del usuario/contraseña o id/descripcion a una clase del conlador o del
> modelo, a tu elección.


En esto al 100% con Claudio.

Saludos

Responder Con Cita