Wie importiere ich Klassen in JSP?

232

Ich bin ein absoluter JSP-Anfänger. Ich versuche, eine java.util.Listin einer JSP-Seite zu verwenden. Was muss ich tun, um andere Klassen als die in zu verwenden java.lang?

jjnguy
quelle
5
Ganz

Antworten:

340

Verwenden Sie zum Importieren die folgende Importanweisung java.util.List:

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

Übrigens, um mehr als eine Klasse zu importieren, verwenden Sie das folgende Format:

<%@ page import="package1.myClass1,package2.myClass2,....,packageN.myClassN" %>
Sandmann
quelle
9
Sie brauchen / wollen dieses Semikolon am Ende nicht.
TJ Crowder
8
Sollten Sie alles in eine Zeile setzen oder es zur besseren Lesbarkeit auf mehrere Zeilen aufteilen?
Xonatron
6
Vergessen Sie wie ich nicht das "@", Sie können das nicht direkt in ein Sciplet <%%> schreiben
Eildosa
7
Die Aufrechterhaltung einer Liste der Importe, Duplikate Spek, Sortieren usw. wird viel einfacher , wenn man sie nicht alle von ihnen in einer Zeile setzen. In der Tat würde ich gehen so weit zu sagen , dass ich sehr empfehlen würde gegen setzen sie alle auf einer Linie.
Scunliffe
Verwenden Sie eine Taglib, wenn Sie können! und das c-Tag lib darin ... verschachtelt tutorialspoint.com/jsp/jsp_standard_tag_library.htm
tgkprog
49

Zu Ihrer Information: Wenn Sie eine Liste in eine JSP importieren, stehen die Chancen gut, dass Sie gegen die MVC-Prinzipien verstoßen. Nehmen Sie sich jetzt ein paar Stunden Zeit , um sich über den MVC-Ansatz für die Entwicklung von Web-Apps (einschließlich der Verwendung von Taglibs) zu informieren.

Wenn Sie etwas Komplizierteres tun als eine einzelne JSP, die einige Datenbankergebnisse anzeigt, sollten Sie ein Framework wie Spring , Grails usw. verwenden. Es wird absolut etwas mehr Aufwand erfordern, um loszulegen, aber es wird Ihnen so viel sparen Zeit und Mühe auf der Straße, die ich wirklich empfehlen. Außerdem ist es cooles Zeug :-)

Kevin Day
quelle
51
Abstimmung für die Bereitstellung eines Vortrags anstelle einer Antwort auf die Frage.
Willis Blackburn
71
Gegenstimme für die Bereitstellung eines Vortrags anstelle einer Antwort auf die Frage
grinch
7
+1. Manchmal ist es notwendig, Licht in die richtige Richtung zu richten, wenn das OP im Dunkeln zu sein scheint und die Dinge überhaupt nicht richtig macht.
Adarshr
3
Nennen Sie mich einen Ketzer, aber ich verwende sehr oft Listen (und viele andere POJO) in JSPs. Dies beschränkt sich natürlich streng auf den Nachweis von Konzepten und kleinen Do-it-all-JSPs, die für einen ganz bestimmten und vorübergehenden Zweck bestimmt sind. Ich habe noch keinen schnelleren Weg gefunden, um einen kleinen Webclip / eine hochspezialisierte Webseite zu erstellen. Beim Schreiben einer "echten" App / Website wird dies natürlich nicht einmal berücksichtigt.
Pieroxy
4
@ KevinDay Entschuldigen Sie meine Unwissenheit, aber kurz gesagt, wie ist der Zugriff auf eine Liste, die MVC bricht? Wenn ich die Liste ändere, aber wenn ich nur Elemente daraus lese, verstößt das gegen die MVC-Prinzipien?
Martin Carney
20

Im Seiten-Tag:

<%@ page import="java.util.List" %>
Axeman
quelle
1
Warum sollten Sie Datei- und IOException-Klassen importieren müssen ODER haben Sie den Fragesteller nur darüber informiert, wie mehr als eine Klasse in die JSP importiert werden soll?
Vijay Dev
2
Axeman, java, lang ist in Ordnung, aber java.util-Klassen werden nicht automatisch eingeschlossen. oder ist es bei JSPs der Fall ????
Akjain
5

Verwenden Sie die Seitenanweisung, um eine Klasse in eine JSP-Seite zu importieren. Seitenrichtlinie verwendet 11 verschiedene Arten von Attributen. Eine davon ist "Import". Seitenanweisung mit Importattribut Ermöglicht das Erwähnen von mehr als einem Paket an derselben Stelle, getrennt durch Kommas (,). Alternativ können Sie mehrere Instanzen von Seitenelementen mit jeweils unterschiedlichen Paketen haben.

Beispielsweise:

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

Hinweis: Das Importattribut sollte vor dem Element stehen, das die importd-Klasse aufruft.

Gaurav Varshney
quelle
5

Wenn Sie JSTL verwenden und eine Klasse in eine Tag-Seite anstelle einer JSP-Seite importieren möchten, ist die Syntax etwas anders. Ersetzen Sie das Wort "Seite" durch das Wort "Tag".

Anstelle von Sandmans richtiger Antwort

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

verwenden

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

Dies ist die Syntax zum Importieren von Klassen

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