Создание списка в EL

Я буду идущим наперекор и утверждать, что это - только язык, когда это воплощает больше, чем может быть представлено XML; или иначе когда XML считается языком.

, С другой стороны, большинство файлов конфигурации может считаться классами, но только со свойствами и никакими методами. И без методов, я не думаю, что это - язык.

В конечном счете, "язык" является мягкой абстракцией, но да, края неоднозначны.

7
задан artbristol 14 September 2009 в 12:02
поделиться

2 ответа

Если все, что вы хотите сделать, это создать список, вы можете использовать [] [1] для создания объекта в желаемой области :

<jsp:useBean id="thelist" scope="request" class="java.util.ArrayList" />

Это работает, потому что ArrayList не имеет конструктора без аргументов. Однако в списке ничего не будет. И, насколько мне известно, ни EL, ни JSTL не предоставляют встроенного механизма для добавления элементов в коллекцию - они оба ориентированы на доступ только для чтения. Я полагаю, что вы могли бы определить отображение функции EL , чтобы включить метод add () .

Однако я думаю, что вам лучше не пытаться заставить JSP выполнять то, что он не хочет делать. В данном случае это означает, что вместо использования файла тегов JSP вы должны написать фактический обработчик тегов на Java.

8
ответ дан 6 December 2019 в 15:24
поделиться

As kdgregory says, you could do this with custom tag library functions, though it won't be pretty. For example, something like this:

#{foo:add(foo:add(foo:add(foo:newList(), 'One'), 'Two'), 'Three')}

You are merely running into the limitations of what used to be called the Simplest Possible Expression Language.

It would be easier to do this via some other mechanism, like a bean.

3
ответ дан 6 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: