Autocomplete = “off” con Struts

Uno de los pequeños inconvenientes que se me presento al desarrollar aplicaciones web y utilizar etiquetas struts, era la compatibilidad con algunos atributos. Regularmente cuando trabajo con cuadros de texto siempre agrego el atributo “autocomplete = off” esto para que no se almacene el texto que haya escrito con anterioridad (en algunos casos es necesario). Pero al utilizar etiquetas struts este atributo no esta o por lo menos no encontre alguno analogo a este; entonces decidi probar un codigo en javascript y agregarlo dentro de mi formulario quedando de la siguiente forma.

Para empezar este es el código javascript 

autocomplete_01

Una vez que tenemos ya el código lo que hacemos ahora es agregarlo en el “body” dentro del atributo “onload” de la siguiente manera:

autocomplete_02

y ahora solo nos queda agregarlo en el formulario que tiene etiquetas struts para que todos lo cuadros de texto cumplan este atributo, quedando de la siguiente forma:

autocomplete_03

De esta manera pude utilizar este atributo, espero les sea de utilidad.

PD: Fijense que en struts para representar el atributo “Id” se hace con “styleId”, esto para que no haya confusiones.

Manejo de Sesiones con Struts en NetBeans 6.1

Retomando el blog luego de un pequeño receso, seguiremos viendo alguna formas simples de poder trabajar con sesiones, como vimos en un post anterior lo trabajamos de manera basica con servlets, ahora veremos como es que podemos trabajarlo utilizando Struts, no detallo la teoria sobre este framework dado que lo podemos encontrar en la web, pasaremos defrente a la parte práctica.

Bueno para eso ya sabemos que hacer, abrimos nuestro Netbeans y creamos un proyecto web al cual llamaremos LoginStruts, seleccionamos el server con el que trabajaremos (Apache Tomcat) y luego en la parte donde dice seleccionar framework, escogemos Struts 1.29 nos mostrara un detalle como este:

loginstruts_01

Para este pequeño articulo no tocaremos esta parte, solo lo dejaremos por defecto y finalizamos. Una vez realizado este proceso tendriamos la siguiente estructura creada.

loginstruts_02

Al abrir el archivo “index.jsp” nos damos cuenta que tenemos solo la siguiente linea: <jsp:forward page=”Welcome.do”/>, el cual indica que lo unico que haria es un redireccionamiento a la pagina “Welcome.do”, pero se preguntaran ¿de donde sale la pagina “Welcome.do”?, alli es donde entra a tallar el archivo de configuración “struts-config.xml”:

loginstruts_03

En el circulo de color rojo que muestro en la figura es lo que nos interesa. Alli podemos obervar la accion que se realiza al utilizar “Welcome.do“, el de redireccionar a la pagina “welcomeStruts.jsp”. Para que no haya confusion podemos borrar el forward que dentro de los tags “<global-forwards>”, dado que es suficiente con el action.

Ya sabemos como parte inicial para que sirve el action en el archivo de configuracion, ahora pasamos a  crear una pagina jsp a la que llamaremos “menu.jsp” la que nos servira como pagina de carga luego del logueo correcto.

Luego pasamos a crear nuestra primera clase (Bean), la que manejaria las variables de usuario y password, las cuales la  “seteariamos” utilizando etiquetas struts desde el archivo “welcomeStruts.jsp”. A esta clase la llamaremos “LoginForm.java” y la crearemos dentro del paquete que se creo por defecto o de lo contrario creamos nuestros propios paquetes y lo creamos alli, para este caso utilizare el paquete por defecto, quedando la clase de la siguiente manera.

loginstruts_042

Fijense en la parte superior que esta con el recuadro de color rojo, eso es muy importante dado de que esta manera haremos que los valores que se “seteen” desde la pagina principal “welcomeStruts.jsp” puedan ser utilizados desde nuestra clase que haria el action.

Bueno, ya creamos el bean que almacenaria la informacion inicial, ahora lo que tenemos que hacer es registrar este bean dentro del archivo de configuracion “struts-config.xml” y lo ubicamos dentro de los tags “<form-beans>”. Para eso podemos hacer manualmente o tambien dentro del archivo de configuracion hacemos click derecho y elegimos el menu struts y luego escogemos “Add ActionForm Bean” de la siguiente manera:

loginstruts_06

Y luego nos aparecera la siguiente ventana en la cual agregaremos el nombre del bean y la clase que lo contiene.

loginstruts_07

Una vez realizado este proceso ya tendriamos el bean registrado en el archivo de configuracion quedando de la siguiente forma:

<form-beans>
<form-bean name=”LoginForm” type=”com.myapp.struts.LoginForm”/>
</form-beans>

Ahora, nos toca crear la clase que haria la accion, para eso nos ubicamos en el proyecto y le damos click derecho; seleccionamos “Struts Action” de la siguiente forma:

loginstruts_05

Se nos abrira un ventana en la cual nos pedira que agreguemos el nombre de la clase que haria la accion, para este caso le pondremos “LoginAction.java” y en el Action Path le pondremos “/Login”. Este ultimo parametro lo utilizaremos para registrarlo en archivo de configuracion y tambien para utilizarlo en action del formulario de nuestra pagina principal.

loginstruts_08

Le damos click en siguiente y tendremos el siguiente cuadro

loginstruts_09

En donde pueden observar que en el “ActionForm Bean Name” esta seleccionado nuestro bean “LoginForm”, en la opcion “Input Resource” borramos el “/” y listo le damos click en finalizar; podemos ver que en el archivo de configuracion esta registrado nuestro “Struts Action” de la siguiente forma

loginstruts_12

Ahora lo que haremos seria agregar dos forward al action uno que indicaria que hacer cuando el login sera correcto y otro cuando es incorrecto. Para esto damos click derecho sobre el archivo de configuracion y vamos al menu “struts” -> “Add forward” al cual llenamos los campos segun la figura:

loginstruts_10

y lo mismo hacemos para cuando es incorrecto quedando el archivo de configuracion de la siguiente manera:

loginstruts_11

Ahora nos metemos en el archivo LoginAction.java y escribimos el siguiente codigo:

loginstruts_13

Como podran darse cuenta tengo dos variables, usuario y password, el cual sus valores lo obtego instanciando al bean “LoginForm” y asi poder validar.

Si el usuario y clave es correcto se realizaria el envio de la variable SUCESS o en caso contrario se enviaria FAILURE, para cualquiera de estos casos se sabria que hacer de acuerdo a lo indicado en el archivo de configuracion (con los forward).

Ahora para terminar, se tendria que ingresar esos valores al bean; recuerdan que teniamos una pagina llamada “welcomeStruts.jsp” aqui es donde enviaremos los datos modificando el codigo, borramos todo el contenido del body y agregamos lo siguiente:

loginstruts_141

hay que fijarse en la parte resaltada con los recuadros de color rojo, ya que es muy importante, vemos que en el action tenemos “/Login” que es lo que tenemos registrado en el archivo de configuracion. y los campos property del text y password deben ser los mismos que del bean. Ya dependera de uds. que poner en el archivo “menu.jsp” 😛

Bueno, hasta aqui llego con el manejo de sessiones con struts espero haberme explicado con esto, cualquier comentario o duda solo postearlo.

PD: Disculpen, los errores ortograficos son a proposito.