Проблема при сохранении значений динамического поля в настройках

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

Я создал редактируемый портлет, где на странице конфигурации я показываю динамические вопросы, которые извлекаются из базы данных. Поэтому по той же причине я повторяю свой список массивов и динамически создаю поля ввода следующим образом:

Iterator<String> itr = al.iterator();
 while(itr.hasNext())
 {
         String columnVal = itr.next();
         columnVal = columnVal.trim().toLowerCase();
         %>
         <aui:input name="<%=columnVal%>" type="checkbox" />
         <%
 }

С приведенным выше кодом поля создаются динамически с правильными метками и, похоже, все в порядке.

Когда я пытаюсь сохранить эти значения динамического поля в настройках, я изменил синтаксис оператора ввода на правильный, добавив префикс «предпочтения--» и суффикс «--», как показано ниже,

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

Я не знаю, какой синтаксис неверен в приведенном выше утверждении. Но я не могу видеть имена ярлыков в пользовательском интерфейсе. вместо отображения правильных имен меток для всех меток в пользовательском интерфейсе отображается ‹%=columnVal%>.

Я использую класс действий конфигурации по умолчанию в моем файле liferay-portlet.xml, как указано ниже,

<configuration-action-class>com.liferay.portal.kernel.portlet.DefaultConfigurationAction</configuration-action-class>

Может ли кто-нибудь исправить мой синтаксис и помочь мне сохранить значения динамических полей в настройках.


person Prasad    schedule 14.07.2015    source источник
comment
Вы проверили исходный HTML-код, сгенерированный в браузере, если эти элементы ввода имеют правильное имя с префиксом в качестве предпочтений--?   -  person Pankaj Kathiriya    schedule 14.07.2015
comment
Я проверил firebug в браузере. атрибут name показывает что-то вроде этого, name=_86_preferences--‹%=columnName%›--Checkbox.   -  person Prasad    schedule 14.07.2015
comment
Что я могу сделать сейчас. Пожалуйста, предложите что-нибудь, чтобы решить эту проблему. Вообще, как мы можем дать атрибут имени для динамических полей?   -  person Prasad    schedule 14.07.2015
comment
Просто используйте, <aui:input name='<%="preferences--"+columnVal+"--"%>' type="checkbox" />   -  person Pankaj Kathiriya    schedule 14.07.2015
comment
Большое спасибо. Это работает сейчас   -  person Prasad    schedule 14.07.2015
comment
Было бы здорово, если бы это было преобразовано как ответ, чтобы помочь сообществу, а также было бы неплохо, если бы @manjunathramigani также мог отметить как ответ предыдущий пост, который привел к этому вопросу. Спасибо вам всем.   -  person Prakash K    schedule 15.07.2015


Ответы (1)


Из раздела комментариев link:

В соответствии со спецификацией JSP 2.1 множественные выражения и смешение выражений и строковых констант не допускаются.

Таким образом, вы должны использовать приведенный ниже код в вашем случае:

<aui:input name='<%="preferences--"+columnVal+"--"%>' type="checkbox" />
person Pankaj Kathiriya    schedule 15.07.2015