Выражение скриптлета JSP не оценивается в атрибуте тега AUI

Это очень просто, и я не могу выполнить простую задачу отображения переменных.

Я получаю одно динамическое значение, присваивая его одной переменной. Если я попытаюсь напечатать значение переменной, оно будет напечатано, как показано ниже,

<%=columnName%> 

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

<aui:input name="preferences--<%=columnName%>--" type="checkbox"/>

Проблема: предположим, что значением переменной является «экранное имя». Если я печатаю значение ‹%=columnName%>, то оно печатает значение «имя экрана» в пользовательском интерфейсе. Когда я использую ту же переменную в атрибуте имени, она показывает значение как ‹%=columnName%> вместо «имя экрана».

Примечание. Это предпочтительный формат для атрибута имени с префиксом «предпочтения--» и суффиксом «--».

Пожалуйста, исправьте мой синтаксис и предложите мне то, что будет печатать значение переменной в атрибуте тега


person Vinod    schedule 14.07.2015    source источник


Ответы (1)


Кажется, что вы не можете использовать смешанные строки, содержащие строку и скриптлет внутри тегов aui. http://www.liferay.com/community/forums/-/message_boards/message/16694386

можешь попробовать ниже

<% String tempColumnName="preferences--"+ columnName+"--" ; %>
<aui:input name="<%=tempColumnName%>" type="checkbox"/>

Кроме того, старайтесь избегать использования скриптлетов :)

person Amit.rk3    schedule 14.07.2015
comment
Это основное правило JSP для скриптлетов в значениях атрибутов (см. спецификацию JSP): JSP1.14.1 Значения атрибутов времени запроса. не разрешено). - person David Balažic; 27.09.2018