0

我写了一个liferay portlet 来学习expando/custom 属性。我为每个用户都有一个名为 nick 的自定义属性。我在jsp中有这个表格

<form action='<portlet:actionURL></portlet:actionURL>' method="post">
    <liferay-ui:custom-attribute className="<%=User.class.getName()%>"
        classPK="<%=user.getPrimaryKey()%>" name="nick" editable="true" label="Nick">
    </liferay-ui:custom-attribute>
    <input type="submit" value="Save" />
</form>

当我尝试在 processAction 中使用

String nick = request.getParameter("nick");

或者

String nick = ParamUtil.get(request, "nick", "no nick given");

它什么也没给我。我检查了这个文本框的名称是 _testexpandoportlet_WAR_testexpandoportlet_ExpandoAttribute--nick--

如何在 processAction 中得到这个?

4

2 回答 2

0

尝试使用PortalUtil.getExpandoValue(...)

  String expandoValue = (String)PortalUtil.getExpandoValue(request, "nick", ExpandoColumnConstants.STRING, ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX);
于 2012-05-11T12:40:29.860 回答
0

此代码部分将起作用

String nick = "";
nick = (String) PortalUtil.getExpandoValue(request,
                "ExpandoAttribute--" + "nick" + "--",
                ExpandoColumnConstants.STRING, ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX);

为了其他人的帮助,我在 Sourceforge 上上传了 portlet。test-expando-portlet 的链接

于 2012-05-12T06:26:30.040 回答