¿Cómo importas clases en JSP?

233

Soy un completo principiante de JSP. Estoy tratando de usar un java.util.Listen una página JSP. ¿Qué necesito hacer para usar otras clases que no sean las java.lang?

jjnguy
fuente
55
Sin mencionar que esta no es la mejor práctica;)
BalusC

Respuestas:

341

Use la siguiente declaración de importación para importar java.util.List:

<%@ page import="java.util.List" %>

Por cierto, para importar más de una clase, use el siguiente formato:

<%@ page import="package1.myClass1,package2.myClass2,....,packageN.myClassN" %>
Sandman
fuente
99
No necesitas / quieres ese punto y coma al final.
TJ Crowder
8
¿Debería ponerlo todo en una línea o dividirlo en varias líneas para facilitar la lectura?
Xonatron
66
Como yo, no olvides la "@", no puedes escribir eso directamente en un sciplet <%%>
Eildosa
77
El mantenimiento de una lista de las importaciones, la detección de duplicados, clasificación, etc. será mucho más fácil si no no poner todos ellos en una sola línea. De hecho, iría tan lejos como para decir que recomiendo no ponerlos a todos en una sola línea.
scunliffe
¡Usa un taglib si puedes! y la etiqueta c lib dentro de él ... tutorialspoint
tgkprog
49

FYI: si está importando una Lista a un JSP, es muy probable que esté violando los principios de MVC. Tómese unas horas ahora para leer sobre el enfoque MVC para el desarrollo de aplicaciones Web (incluyendo el uso de taglibs) - hacer un poco más buscando en Google sobre el tema, es fascinante y sin duda ayudará a escribir aplicaciones mejores.

Si está haciendo algo más complicado que un solo JSP que muestra algunos resultados de la base de datos, considere usar un marco como Spring , Grails , etc ... Le llevará un poco más de esfuerzo comenzar, pero le ahorrará mucho tiempo y esfuerzo en el camino que realmente lo recomiendo. Además, es algo genial :-)

Kevin Day
fuente
51
Voto negativo para proporcionar una conferencia en lugar de una respuesta a la pregunta.
Willis Blackburn
71
voto a favor por dar una conferencia en lugar de una respuesta a la pregunta
grinch
77
+1. A veces es necesaria una luz brillante en la dirección correcta cuando el OP parece estar en la oscuridad y haciendo las cosas de la manera no correcta.
adarshr
3
Llámame hereje, pero a menudo uso Listas (y muchos otros POJO) en JSP. Esto, por supuesto, está estrictamente limitado a la prueba de conceptos y pequeños JSPs para hacer todo que están destinados a un propósito muy específico y temporal. Todavía tengo que encontrar una manera más rápida de construir un pequeño clip web / página web altamente especializado. Por supuesto, al escribir una aplicación / sitio web "real", esto ni siquiera se considera.
pieroxy
44
@KevinDay Disculpe mi ignorancia, pero en resumen, ¿cómo está accediendo a un MVC que rompe la lista? Si estoy modificando la lista, claro, pero si solo estoy leyendo elementos de ella, ¿eso viola los principios de MVC?
Martin Carney
20

En la etiqueta de la página:

<%@ page import="java.util.List" %>
Axeman
fuente
1
¿Por qué necesitaría importar las clases File e IOException O es que solo estaba informando al interlocutor sobre cómo importar más de una clase en el JSP?
Vijay Dev
2
Axeman, java, lang está bien, pero las clases java.util no se incluyen automáticamente. o ¿ES el caso con JSP's ????
akjain
5

Utilice la directiva de página para importar una clase en la página JSP. La directiva de página utiliza 11 tipos diferentes de atributos, uno de ellos es "importar". Directiva de página con atributo de importación Le permite mencionar más de un paquete en el mismo lugar, separados por comas (,). Alternativamente, puede tener varias instancias de elemento de página, cada una con un paquete diferente.

Por ejemplo:

 <%@ page import = "java.io.*" %>
 <%@ page import = "java.io.*", "java.util.*"%>

Nota: el atributo de importación debe colocarse antes del elemento que llama a la clase importd.

Gaurav Varshney
fuente
5

En caso de que use JSTL y desee importar una clase en una página de etiquetas en lugar de una página jsp, la sintaxis es un poco diferente. Reemplace la palabra 'página' con la palabra 'etiqueta'.

En lugar de la respuesta correcta de Sandman

<%@page import="path.to.your.class"%>

utilizar

<%@tag import="path.to.your.class"%>
George Siggouroglou
fuente
4

Esta es la sintaxis para importar la clase

  <%@ page import="package.class" %>
Birhan Nega
fuente