Buscando artículos sobre "JSP"
5-abril-2014
admin

Libreria de funciones JSTL

La libreria functions de JSTL (TAGLIB) nos facilita trabajar con Strings y Arrays en el lenguaje EL de JSP. Consta de las siguientes funciones:

fn:contains()
fn:containsIgnoreCase()
fn:endsWith()
fn:escapeXml()
fn:indexOf()
fn:join()
fn:length()
fn:replace()
fn:split()
fn:startsWith()
fn:substring()
fn:substringAfter()
fn:substringBefore()
fn:toLowerCase()
fn:toUpperCase()
fn:trim()

Para poder utilizarla es necesario incluir la siguiente cabecera:

< %@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

Tutorial
JavaDoc
Página con ejemplos de uso

14-noviembre-2012
admin

Plugin para el eclipse que genera aplicación automaticamente

Sotilizator

En GitHub he creado un repositorio donde comparto un plugin para el eclipse que he implementado y que facilita el desarrollo aplicaciones J2EE https://github.com/roberto-pf/Sotilizator. El plugin consigue implementar toda la lógica de negocio de una aplicación que utiliza: Struts + Spring + hibernate + JQuery.

Qué es el Sotilizator?
Se trata de un plugin para el eclipse (probado en su versión Helios). La finalidad de este plugin es la creación de una aplicación web de forma automática y con unas determinadas características a partir de un esquema de una Base de Datos.
Estas características son:
1 – La aplicación resultante estará realizada empleando un MVC en J2EE con Struts 1.3, inyección de dependencias con Spring 3.0, hibernate 3.2.6 para el acceso a datos para la parte de la lógica de negocio. Mientras que para la parte de la vista se empleará jquery junto a las tag-libraries de struts. Además, de DWR para interactuar con el servidor desde el cliente.
2 – Se generará un fichero pom.xml para que a través de MAVEN se puedan obtener las dependencias.
3 – Se generará un fichero build.xml donde estarán las tareas Ant necesarias para el despliegue de la aplicación en Tomcat, JBoss y OAS.
4 – La aplicación resultante será capaz de construir las tareas CRUD de las tablas automáticamente. A partir del esquema de la BD obtendrá los campos y su tipo.
5 – Las capas que contendrá la aplicación son las siguientes:

        VO: Objetos que hace referencias a las tablas.
	DAO: Capa que realiza el acceso a la BD. 
	Manager: Capa sobre la que se aplican las transacciones.
	Delegate: Capa que se encarga de relacionar la parte de la vista 
                  con la lógica de negocio.
	Action: Aquí deberán ir las diferentes acciones que luego el 
                controlador mapea para interactuar con la vista.

Esquema de la lógica de negocio

Nota: Para más información consultar manuales del usuario y del programador: https://github.com/roberto-pf/Sotilizator/tree/master/Readme

12-mayo-2012
admin

Propiedades nth-child y first-child de jquery.

JQuery tiene varias propiedades que se pueden utilizar para acceder a nodos concretos que están dentro de un nodo padre. Entre estas propiedades voy a comentar el funcionamiento de: first-child y nth-child

Para ello voy a utilizar un ejemplo. Supongamos que tenemos un Select cuyo id es “selectPrueba”.

first-child – Se puede utilizar para seleccionar el primer elemento.
p.e. esto seleccionaria en el combo el primer elemento.

$('select#selectPrueba option:first-child').attr("selected", "selected");

nth-child – Permite seleccionar un elemento concreto.
p.e. esto seleccionaria en el combo el elemento 4.

$('select#selectPrueba option:nth-child(4)').attr('selected', 'selected');

Más información con ejemplos: first-child y nth-child.

15-marzo-2012
admin

Lenguaje de expresiones (EL) – Objetos implícitos

Se representan en las JSP mediante anotaciones del tipo: ${ … }.
De esta forma se indica que la información ingresada dentro de las llaves, no es leída literalmente, sino que se tiene que evaluar, y usar el resultado de esta evaluación.

Hay objetos que son automáticamente accesibles a cualquier etiqueta JSP. A través de ellos es posible acceder a cualquier variable de los ámbitos page, request, session, application, a parametros HTTP, cookies, valores de cabeceras, contexto de la página, y parámetros de inicialización del contexto.

– pageScope: Variables de ámbito página.
– requestScope: Variables de ámbito request.
– sessionScope: Variables de ámbito session.
– applicationScope: Variables de ámbito application.
– param: Parametros del request como cadenas.
– paramValues: Parametros del request como array de cadenas.
– header: Cabeceras del request HTTP como cadenas.
– headerValues: Cabeceras del request HTTP como array de cadenas.
– cookie: Valores de las cookies recibidas en el request.
– initParam: Parametros de inicialización de la aplicación Web.
– pageContext: El objeto PageContext de la página actual.

p.e.
${pageContext.request.requestURL} URL usada para acceder a la página.

En esta página se puede encontrar bastante más información de las propiedades de estos objetos implícitos.

1-febrero-2012
admin

Test does not support runtime expressions

Programando unas jsp me he encontrado con una serie de ‘warnnings’. Aunque al ejecutarlas bajo un tomcat funcionaban correctamente, en un OAS daban problemas. Los ‘warnnings’ en cuestión eran tal que así:

  • test does not support runtime expressions
  • value does not support runtime expressions
  • items does not support runtime expressions

Esto sucedía porque estaba importando la taglib de JSTL 1.0 en lugar de su versión 1.1.
Utilizaba:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

En lugar de:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"  %>

Como se puede ver, las dos URI’s se parecen mucho y es bastante fácil equivocarse.

Categorias

Linkedin