Enlazar objeto java con jsp

Kemmotar
31 de Marzo del 2004
Soy principiante en esta tecnología y tengo una duda.

He hecho un jsp en el que está el formato de una tabla. También he hecho una clase Persona en la que he hecho 2 instancias (persona1 y persona2) iniciando en el constructor el nombre, email y teléfono, además de los métodos obtenerNombre, obtenerEmail y obtenerTfno.

Mi problema es que quiero rellenar la tabla del jsp utilizando los métodos anteriores (obtenerNombre, etc..), y no se como ponerlo para que en el jsp sólo tenga que poner persona1.obtenerNombre();

Si alguien me prodría decir, le estaría muy agradecido.

Saludos.

Ken
31 de Marzo del 2004
A ver, que esto es lo de siempre. En casi todos los servidores (te hablaré a partir de ahora de Tomcat, porque no especificas cuál usas, aunque supngo que no es demasiado relevante) hay un directorio classes.

En ese directorio van, por ejemplo, los servlets, y las clases que necesitamos como apoyo a nuestros .jsp.

Lo suyo es hacer una estructura de paquetes. Por ejemplo, tu clase "Persona" debería ir en un paquete (pongamos "utilidades"). Una vez recompilada esa clase, sitúala en una carpeta que debe colgar del directorio "classes". La estructura normal (y con "normal" me refiero a Tomcat) es: directorio_aplicacion/WEB-INF/classes/utilidades (o el nombre del paquete que hayas puesto).

Bien, ya hemos colocado los .class necesarios en un sitio donde nuestros .jsp podrán verlos. Cómo hacerlo? muy simple: importando el paquete. En tu .jsp haz un import <%@page import="utilidades.*"%>

Ahora, ya puedes hacer una instancia de Persona (o las que sean necesarias) y operar con ellas como operarías en un .java normal.

Otro asunto es que, si estas clases tienen un constructor por defecto (sin parámetros) y métodos get/set (no valen equivalentes con otra sintaxis) Tomcat (y cualquier servidor que cumpla las especificaciones) puede "descubrir" las propiedades de la clase por sí sólo (tecnología Beans, échale un vistazo). De este modo, puedes usar etiquetas del tipo <jsp:useBean /> y <jsp:getProperty /> pero esto es ya harina de otro costal.

Espero haberte ayudado,

Salu2

Ken