Я буду идущим наперекор и утверждать, что это - только язык, когда это воплощает больше, чем может быть представлено XML; или иначе когда XML считается языком.
, С другой стороны, большинство файлов конфигурации может считаться классами, но только со свойствами и никакими методами. И без методов, я не думаю, что это - язык.
В конечном счете, "язык" является мягкой абстракцией, но да, края неоднозначны.
Если все, что вы хотите сделать, это создать список, вы можете использовать [
для создания объекта в желаемой области :
<jsp:useBean id="thelist" scope="request" class="java.util.ArrayList" />
Это работает, потому что ArrayList не имеет конструктора без аргументов. Однако в списке ничего не будет. И, насколько мне известно, ни EL, ни JSTL не предоставляют встроенного механизма для добавления элементов в коллекцию - они оба ориентированы на доступ только для чтения. Я полагаю, что вы могли бы определить отображение функции EL , чтобы включить метод add ()
.
Однако я думаю, что вам лучше не пытаться заставить JSP выполнять то, что он не хочет делать. В данном случае это означает, что вместо использования файла тегов JSP вы должны написать фактический обработчик тегов на Java.
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.