我试图在我的portlet配置中使用自动字段,但是我对这个问题感到非常绝望:在操作中,我可以检索数据字段,但不能检索控制器中的字段索引。当我从动作请求中获取它时,它是一个空字符串:(
以下是jsp对应于字段的代码:
<div id="fyhespecials">
<div class="lfr-form-row lfr-form-row-inline">
<div class="row-fields">
<aui:input id='fecha0' name="fecha0" label="Fecha" />
<aui:input id='horario0' name="horario0" label="Horario" />
</div>
</div>
</div>
这是剧本:
<aui:script use="liferay-auto-fields">
AUI().ready('liferay-auto-fields', function(A) {
new Liferay.AutoFields(
{
contentBox: '#fyhespecials',
fieldIndexes: '<portlet:namespace/>indexes'
}
).render();
});
</aui:script>
在控制器中,我无法从actionRequest获取索引,但我可以获得字段“fecha(index)”和“horario(index)”。但是,我需要索引来正确获取字段,所以我现在卡住了。也许保存在actionRequest中,但以不同的方式命名。
希望得到一些帮助:)
提前致谢,
路易斯。
PS:只是为了提供额外的信息(如果它有用),portlet在Liferay 6.0中运行
编辑:根据要求,这是控制器中试图捕获de String索引的代码。请注意,在下面的syso中,此String为空,而字段(fecha0,fecha1 ...)显示正确:
public class ListadoMuseoConfigurationActionImpl extends
DefaultConfigurationAction {
public void processAction(PortletConfig portletConfig,
ActionRequest actionRequest, ActionResponse actionResponse)
throws Exception {
String portletResource = ParamUtil.getString(actionRequest,
"portletResource");
PortletPreferences preferences = PortletPreferencesFactoryUtil
.getPortletSetup(actionRequest, portletResource);
//...
String indicesString= actionRequest.getParameter("indexes");
String fechaEspecial = ParamUtil.getString(actionRequest, "fecha0");
String fechaEspecial1 = ParamUtil.getString(actionRequest, "fecha1");
//...
System.out.println("=============Indices autofields======="+indicesString);
System.out.println("=============fechaEspecial======="+fechaEspecial);
System.out.println("=============fechaEspecial1======="+fechaEspecial1);
希望这有助于找到解决方案。