Comment importer des classes dans JSP?

233

Je suis un débutant JSP complet. J'essaie d'utiliser un java.util.Listdans une page JSP. Que dois-je faire pour utiliser des classes autres que celles de java.lang?

jjnguy
la source
5
Sans oublier que ce n'est pas la meilleure pratique;)
BalusC

Réponses:

341

Utilisez l'instruction d'importation suivante pour importer java.util.List:

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

BTW, pour importer plus d'une classe, utilisez le format suivant:

<%@ page import="package1.myClass1,package2.myClass2,....,packageN.myClassN" %>
Marchand de sable
la source
9
Vous n'avez pas besoin / ne voulez pas ce point-virgule à la fin.
TJ Crowder du
8
Devriez-vous tout mettre sur une seule ligne ou le diviser en plusieurs lignes pour plus de lisibilité?
Xonatron
6
Comme moi, n'oubliez pas le "@", vous ne pouvez pas l'écrire directement dans un sciplet <%%>
Eildosa
7
Tenir une liste des importations, repérer les doublons, trier etc. sera beaucoup plus facile si vous ne les mettez pas tous sur une seule ligne. En fait, j'irais jusqu'à dire que je recommanderais fortement de ne pas les mettre tous sur une seule ligne.
scunliffe
Utilisez un taglib si vous le pouvez! et la balise c lib à l'intérieur ... tutorialspoint.com
jsp
49

Pour info - si vous importez une liste dans une JSP, il y a de fortes chances que vous violiez les principes MVC. Prenez quelques heures maintenant pour vous renseigner sur l' approche MVC du développement d'applications Web (y compris l'utilisation de taglibs) - faites un peu plus de recherche sur le sujet, c'est fascinant et vous aidera certainement à écrire de meilleures applications.

Si vous faites quelque chose de plus compliqué qu'un seul JSP affichant des résultats de base de données, pensez à utiliser un framework comme Spring , Grails , etc ... Cela vous demandera un peu plus d'efforts pour commencer, mais cela vous fera économiser beaucoup temps et efforts sur la route que je recommande vraiment. En plus, c'est cool :-)

Kevin Day
la source
51
Votez contre pour avoir donné une conférence plutôt qu'une réponse à la question.
Willis Blackburn
71
upvote pour avoir donné une conférence au lieu d'une réponse à la question
grinch
7
+1. Parfois, il est nécessaire de faire briller la lumière dans la bonne direction lorsque le PO semble être dans l'obscurité et ne pas faire les choses de la bonne façon.
adarshr
3
Appelez-moi un hérétique mais j'utilise très souvent des listes (et beaucoup d'autres POJO) dans les JSP. Ceci est bien sûr strictement limité aux preuves de concepts et aux petits JSP à tout faire qui sont destinés à des fins très spécifiques et temporaires. Je n'ai pas encore trouvé de moyen plus rapide de créer un petit clip Web / page Web hautement spécialisé. Bien sûr, lors de l'écriture d'une «vraie» application / d'un site Web, cela n'est même pas pris en compte.
pieroxy
4
@KevinDay Pardonnez mon ignorance, mais en bref, comment accéder à un MVC de rupture de liste? Si je modifie la liste, bien sûr, mais si je ne fais que lire des éléments, cela viole-t-il les principes MVC?
Martin Carney
20

Dans la balise de page:

<%@ page import="java.util.List" %>
Axeman
la source
1
Pourquoi auriez-vous besoin d'importer des classes File et IOException OU est-ce que vous informiez simplement le questionneur de la façon d'importer plus d'une classe dans la JSP?
Vijay Dev
2
Axeman, java, lang est OK mais les classes java.util ne sont pas incluses automatiquement. ou est-ce le cas avec JSP ????
akjain
5

Utilisez la directive de page pour importer une classe dans la page JSP. La directive de page utilise 11 différents types d'attributs, l'un d'eux est "importer". Directive de page avec attribut d'importation Vous permet de mentionner plusieurs packages au même endroit séparés par des virgules (,). Alternativement, vous pouvez avoir plusieurs instances d'élément de page chacune avec un package différent.

Par exemple:

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

Remarque: l'attribut import doit être placé avant l'élément qui appelle la classe importd.

Gaurav Varshney
la source
5

Si vous utilisez JSTL et que vous souhaitez importer une classe dans une page de balise au lieu d'une page jsp, la syntaxe est un peu différente. Remplacez le mot «page» par le mot «tag».

Au lieu de la bonne réponse de Sandman

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

utilisation

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

Ceci est la syntaxe pour importer la classe

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