Получить значение var в JSTL — Скриптлет

Я хочу вызвать статический метод в моем файле jsp с помощью скриптлета, и я хочу получить значение переменной в jstl следующим образом:

<%= Utilities.splitString(${article.nommodel}); %>

Выдает ошибку,

Как я могу получить значение ${article.nommodel}?

Спасибо


person Anass    schedule 27.03.2012    source источник


Ответы (1)


Вы пытаетесь использовать 2 разных способа кодирования в JSP вместе.

Такой синтаксис, как ${obj.property}, является синтаксисом языка выражений, и его нельзя смешивать со скриптлетами.

Что вы можете сделать, так это в своем скриптлете вытащить переменную из любой области, в которой она находится, и использовать ее в скриптлете:

Непроверенный код:

<% String nommodel = ((foo.Article)pageContext.getAttribute("article")).getNommodel()); out.write(Utilities.splitString(nommodel)); %>

Конечно, вы действительно должны стараться избегать скриптов. Пользовательские теги — это гораздо лучший способ работать с JSP, чтобы обеспечить гораздо лучшую компонентизацию и, следовательно, повторное использование вашего кода.

person pmckeown    schedule 27.03.2012