2010-07-16 2 views
2

Как использовать jsp: useBean с такими же списками, как списки и карты?JPS useBean with HashMap

я могу получить списки с помощью

type="List<MyObject>" 

, но я не могу получить список, чтобы создать экземпляр, если ничего не передается.

class="ArrayList<MyObject>" 

И выше атрибут дает ошибку:

The value for the useBean class attribute ArrayList <MyObject > is invalid.

И оба атрибуты обязательно для HashMap.

В настоящее время я читаю объекты, используя getAttribute(), но будет полезно использовать теги и устанавливать их.

ответ

4

Вы пробовали просто

class="java.util.ArrayList" 

Помните, что фактическое имя типа не включает общий тип, что это синтаксический сахар используется внутри самого языка Java, и <jsp:useBean> не является частью языка Java.

+0

Я предполагаю, что моя формулировка была неясной. Я немного отредактировал свой пост. Атрибут class - это тот, который бросает ошибку. Атрибут type работает для списков, но не создает экземпляр списка, если null является passd. – akula1001

+0

@ manu101: Да, но 'class =" ArrayList "' недопустим, потому что 'ArrayList ' недействительный тип. Тип 'java.util.ArrayList' – skaffman

+1

@ manu1001, skaffman совершенно прав. Я просто хотел добавить: 'jsp: useBean' лишний, если вам не нужно устанавливать элементы в списке (для которых нет способа использовать теги' jsp: 'или' c: 'кстати), и когда вы получают доступ к нему с использованием чистого EL (например, '$ {foo}' и т. д.). Вы можете оставить строку 'jsp: useBean', если только для чистой документации или поддержки IDE. – BalusC

Смежные вопросы