Как вы импортируете классы в JSP?


233

Я начинающий JSP. Я пытаюсь использовать java.util.Listна странице JSP. Что мне нужно сделать, чтобы использовать другие классы java.lang?


5
Не говоря уже о том, что это не лучшая практика;)
BalusC

Ответы:


341

Используйте следующую инструкцию импорта для импорта java.util.List:

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

Кстати, чтобы импортировать более одного класса, используйте следующий формат:

<%@ page import="package1.myClass1,package2.myClass2,....,packageN.myClassN" %>

9
Вам не нужно / не нужно эту точку с запятой в конце.
TJ Crowder

8
Должны ли вы поместить все это в одну строку или разбить его на несколько строк для удобства чтения?
Ксонатрон

6
Как и я, не забывайте "@", вы не можете написать это прямо в скипетл <%%>
Eildosa

7
Ведение списка импорта, кровянистые выделения дубликатов, сортировка и т.д. будет гораздо проще , если бы не поместить их все в одной строке. На самом деле я бы пойти так далеко , как говорят , что я настоятельно рекомендую против положить их всех на одной линии.
scunliffe

Используйте taglib, если можете! и тег c lib внутри него ... вложенный tutorialspoint.com/jsp/jsp_standard_tag_library.htm
tgkprog

49

К вашему сведению - если вы импортируете Список в JSP, вполне вероятно, что вы нарушаете принципы MVC. Потратьте несколько часов на то, чтобы ознакомиться с подходом MVC к разработке веб-приложений (включая использование taglibs) - сделайте еще несколько поисков по теме, это увлекательно и определенно поможет вам писать лучшие приложения.

Если вы делаете что-то более сложное, чем одиночная JSP, отображающая некоторые результаты базы данных, рассмотрите возможность использования такой инфраструктуры, как Spring , Grails и т. Д. ... Это займет совсем немного усилий, чтобы начать работу, но сэкономит вам так много время и усилия в будущем, которые я действительно рекомендую. Кроме того, это классная штука :-)


51
Голосуйте за предоставление лекции вместо ответа на вопрос.
Уиллис Блэкберн

71
upvote за проведение лекции вместо ответа на вопрос
grinch

7
+1. Иногда необходимо светить в правильном направлении, когда ОП, кажется, находится в темноте и делает все неправильно.
adarshr

3
Назовите меня еретиком, но я очень часто использую списки (и множество других POJO) в JSP. Это, конечно, строго ограничено доказательством концепций и небольших универсальных JSP, предназначенных для одной очень конкретной и временной цели. Мне еще предстоит найти более быстрый способ создания небольшого узкоспециализированного веб-клипа / веб-страницы. Конечно, при написании «настоящего» приложения / сайта это даже не учитывается.
Pieroxy

4
@KevinDay Простите за мое невежество, но вкратце, как получить доступ к списку, разрушающему MVC? Конечно, если я изменяю список, но если я просто читаю элементы из него, это нарушает принципы MVC?
Мартин Карни

20

В теге страницы:

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

1
Зачем вам нужно импортировать классы File и IOException ИЛИ вы просто информировали спрашивающего о том, как импортировать более одного класса в JSP?
Виджей Дев

2
Axeman, java, lang в порядке, но классы java.util не включаются автоматически. или это случай с JSP?
akjain

5

Используйте директиву страницы, чтобы импортировать класс на странице JSP. Директива страницы использует 11 различных типов атрибутов, одним из которых является «импорт». Директива страницы с атрибутом импорта Позволяет вам упомянуть несколько пакетов в одном месте, разделенных запятыми (,). В качестве альтернативы вы можете иметь несколько экземпляров элемента страницы каждый с различным пакетом.

Например:

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

Примечание: атрибут import должен быть помещен перед элементом, который вызывает класс importd.


5

Если вы используете JSTL и хотите импортировать класс на странице тегов вместо страницы jsp, синтаксис немного отличается. Замените слово «страница» словом «тег».

Вместо правильного ответа Сэндмена

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

использование

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.