Curso de J2EE

Acciones para beans


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Acción useBean

Sintaxis habitual:

<jsp:useBean id=”…” class=”…“ scope=”…” />
Ejemplo:
<jsp:useBean id=”ab” class=”trilcejf.AficionesBean” scope=”request” />

Además de los atributos id, class y scope, se cuenta con dos más: beanName y type, pero no se emplean tanto como los anteriores.

Funcionalidad:

Obtiene un bean cuyo nombre completo de clase es el indicado en el atributo class, buscándolo donde le indique el atributo scope. Si no se especifica scope, se busca primero en page, luego en request, session y application. Y si no se encuentra en ninguno, se crea un objeto de la clase indicada en class usando el constructor sin argumentos que todo bean debe tener y se ubica en el scope especificado.

El contenido y tipo de atributos pueden ser los siguientes:


Funcionamiento detallado  <jsp:useBean>

  • El contenedor web localiza el objeto usando el id y el scope especificado.

  • Si encuentra el objeto y se especificó el atributo type, entonces el contenedor web castea el objeto hallado con el tipo indicado. Si el casting falla, dispara la excepción java.lang.ClassCastException.

  • Si no encuentra al objeto en el alcance especificado, pueden suceder tres cosas:

  • Si no se especifica el atributo class ni el beanName, se dispara la excepción java.lang.InstantiationException.

  • Si se especifica el atributo class, se crea una instancia de la clase especificada, invocando al constructor público por default (sin argumentos) y se liga el objeto a la variable id en el scope indicado. Si la clase es abstracta o no tiene constructor público por default, se lanza la excepción java.lang.InstantiationException.

  • Si se especifica beanName, se invoca al método instantiate() de la clase java.beans.Beans (con el beanName especificado como argumento) y se liga el objeto a la variable id en el scope indicado.

  • Si lel bean se instancia y la etiqueta tiene cuerpo, éste se procesa. En este punto, la variable está inicializada y disponible en el cuerpo. Se pueden escribir scripts, la acción estándar jsp:setProperty, texto para ser enviado como respuesta, etc.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Acción setProperty

Se utiliza junto con la anterior para establecer o configurar el valor inicial de las PROPIEDADES del bean. No genera salida.

Sintaxis:

<jsp:setProperty name=”…“ property=”…“ value=”…“ />
  • name: nombre del objeto asociado al bean. Su valor coincide con el atributo id de la acción useBean.
  • property: propiedad del bean que va a establecerse.
  • value: valor que va a asumir la propiedad anterior. Admite expresiones <%= expresion %>

Además de estos tres atributos se cuenta con otro más de nombre param. Su uso, junto con otras posibles formas de uso de esta acción, se verán cuando se realicen ejercicios.

Para AficionesBean podría ser:

<jsp:setProperty name=“ab” property=“nombre” value=“Jesus” />
<jsp:setProperty name=“ab” property=“aficion” value=“Tumbismo” />

Las líneas anteriores equivaldrían al siguiente scriptlet:

<% 
   ab.setNombre(“Jesus”);
   ab.setAficion(“Tumbismo”);
%>
NOTA: las propiedades de un bean pueden estar asociadas, además de a una String, a cualquier variable primitiva (int, char, boolean, etc,), objetos en general (habitualmente asociados a clases envoltorio del tipo Integer, Boolean, etc.) o a arrays.

El programador, cuando quiera inicializar alguna propiedad que no esté asociada a una String no tiene que preocuparse del tipo asociado a la propiedad ya que el contenedor se encarga de su conversión, generando el código Java adecuado, siempre que le sea posible (la clase asociada a la propiedad debe contar con métodos que permitan la conversión de una String a esa variable).

Ejemplo:

Si en el bean anterior se tuvieran que inicializar dos propiedades de nombres edad y usuarioValido asociadas a los tipos int y Boolean, el contenedor se encargaría de convertir las cadenas que se introducen a dichas variables.

 

Se inicializarían mediante

<jsp:setProperty name=“ab” property=“edad” value=“28” />
<jsp:setProperty name=“ab” property=“usuarioValido” value=“true” />

El contenedor jsp generaría el siguiente código Java sin intervención del programador

<% 
   ab.setEdad(Integer.parseInt(“28”));
   ab.setUsuarioValido(Boolean.valueOf(“true”));
%>

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Acción getProperty

Se utiliza para capturar las PROPIEDADES de un bean.

Convierte el valor de las propiedades en Strings, que son añadidas a la respuesta html al cliente del mismo modo que las expresiones. Por lo tanto, genera salida. Cuenta con dos atributos de nombres name y property.

Sintaxis:

<jsp:getProperty name=”…“ property=”…”  />
  • name: nombre del objeto asociado al bean. Su valor coincide con el atributo id de la acción useBean.
  • property: propiedad del bean que va a capturarse.

Para AficionesBean podría ser:

<jsp:getProperty name=“ab” property=“aficion” />
<jsp:getProperty name=“ab” property=“comentarioAficion” />

Las líneas anteriores equivaldrían al siguiente scriptlet:

<% 
   out(ab.getAficion());
   out(ab.getComentarioAficion());
%>

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Ejercicios



Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de J2EE y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.