2010-06-01 19 views
6

Escribí un código como un Servlet de Java y ahora estoy tratando de convertirlo a un JSP. Escribí una clase en un archivo separado que estaba usando, y no puedo entender cómo hacer que el archivo JSP reconozca la clase. Supongo que tiene algo que ver con la importación. Le di a la clase un nombre de paquete (package mypackagename;) y he intentado usar <%@ page import="mypackagename"%> pero me da un error:Importación de una clase en un archivo JSP

The import "mypackagename" cannot be resolved

+0

posible duplicado de [¿Cómo se importan las clases en JSP?] (http://stackoverflow.com/questions/239147/how-do-you-import-classes-in-jsp) – jjnguy

Respuesta

9

Sólo tiene que importar la misma manera como lo hace en una clase Java real. Es decir. import mypackagename.MyClassName o import mypackagename.* y por lo tanto noimport mypackagename con solo el nombre del paquete.

<%@ page import="mypackagename.MyClassName" %> 

Dicho esto, no se debe escribir código Java original en un fichero JSP. Scriptlets se consideran una práctica deficiente. Ese código pertenece a una clase real de Java. Estaba ubicado perfectamente bien en la clase Servlet. ¿Qué es, el problema por el que crees que es la solución "correcta" para moverlo todo al lado de la vista y ocupar el texto de la plantilla con código Java sin formato? Elabore al respecto en una nueva pregunta, luego podremos sugerir las soluciones correctas. Tal vez no estaba al tanto de la existencia y los poderes de taglibs como JSTL?

+0

No estoy muy seguro de lo que quiere decir con código java en bruto en un archivo jsp. la mayor parte de mi código está en la clase que quiero importar, solo quiero ejecutar el código de la clase en el archivo JSP y mostrar los resultados. – Michoel

+1

Con el código Java sin procesar, me refiero a la desaprobación de más de una década * scriptlets *. Todo ese código Java entre esas cosas '<% %>'. En su caso específico, simplemente ejecute ese código en el servlet, almacénelo como atributo de solicitud y muéstrelo usando JSTL/EL. [Aquí] (http://stackoverflow.com/questions/1831053/displaying-multiple-records-by-using-resultset/1832524#1832524) y [aquí] (http://stackoverflow.com/questions/384189/how -do-i-make-a-java-resultset-available-in-my-jsp/2428468 # 2428468) son algunos ejemplos. [Aquí] (http://courses.coreservlets.com/Course-Materials/csajsp2.html) es el mejor tutorial de JSP/Servlet. – BalusC

0

Asegúrese de que su clase está en WEB-INF/classes directorio de la aplicación web, y modificar la importación del paquete por paquete. *

+0

gracias por la sugerencia acerca de. * Al final. Estoy aprendiendo Java, así que me olvidé de eso. no sabía que los archivos tenían que ir en WEB-INF/classes, estaban ubicados en src/Por alguna razón, eclipse no me permite crear un nuevo directorio en WEB-INF? (Estoy usando el complemento google appengine) – Michoel

Cuestiones relacionadas