在首选项中保存动态字段值时出现问题

Issue while saving the dynamic field values in the preferences

我已经就同一问题发布了一个问题。但是我无法解决我的问题,也无法继续我的任务。

我创建了一个可编辑的 portlet,在配置页面中,我向他展示了从数据库中获取的动态问题。所以出于同样的原因,我正在迭代我的数组列表并动态创建输入字段,如下所示,

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

使用上面的代码,字段使用适当的标签动态创建,看起来没问题。

当我尝试在首选项中保存这些动态字段值时,我将输入语句语法更改为正确的方式,将前缀添加为 "preferences--",将后缀添加为“--”,如下所示,

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

我不知道上面的语句有什么语法错误。但我无法在 UI 中看到标签名称。它没有显示所有标签的正确标签名称,而是在 UI.

上显示 <%=columnVal%>

我在我的 liferay-portlet.xml 中使用默认配置操作 class,如下所述,

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

任何人都可以纠正我的语法并帮助我在首选项中保存我的动态字段值。

参考link的评论部分:

According to JSP 2.1 Specification multiple expressions and mixing of expressions and string constants are not permitted.

因此您必须在您的案例中使用以下代码:

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