我已按照this guide的所有步骤在Liferay中添加自定义字段,并且能够获取标签和文本框以在帐户详细信息页面(html\portlet\users_admin\user\details.jsp)上输入数据。

我的代码是:

<div class="exp-ctrl-holder">
    <liferay-ui:custom-attribute
        className="<%= User.class.getName() %>"
        classPK="<%= 0 %>"
        editable="<%= true %>"
        label="<%= true %>"
        name="Bio"
    />
</div>


问题是,当我保存它时,不会填充页面上的字段。
当我在“个人简介:输入”中写任何东西,然后单击“保存”时,页面加载,然后我写的内容被清除。为什么?
少了什么东西?

谢谢,

最佳答案

这是不正确的:classPK="<%= 0 %>"

classPK基本上是用户的主键,即userId。因此,由于尚未创建用户,因此添加用户classPK时将为零,但是当您保存或更新用户时,用户将具有classPK,并且要保存的自定义字段Bio将与userId

相反,您需要使用

`classPK="<%= (selUser != null) ? selUser.getUserId() : 0 %>"


因此,当您保存并更新用户时,将填充“用户”自定义字段。

08-28 18:41