2013-09-04 3 views
0

Я следовал всем шагам this guide добавить пользовательское поле в Liferay, и возможность получить поле метки и текста, чтобы ввести данные на странице сведений учетной записи (html\portlet\users_admin\user\details.jsp).Сохранение данных пользовательских полей в Liferay

Мой код:

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

Проблема заключается в том, что, когда я сохранить его без заполнения поля на странице. Когда я пишу что-нибудь в своем «Bio: input», и я нажимаю «Сохранить», страница загружается, а затем то, что я написал, очищается. Зачем? Что не хватает?

Спасибо,

ответ

1

Это неправильно: classPK="<%= 0 %>".

classPK в основном первичный ключ пользователя i.e userId. Таким образом, при добавлении пользователя classPK будет нулевым, так как пока пользователь еще не создан, но если вы сохранили или обновили, тогда у пользователя будет класс ClassPK, а настраиваемое поле Bio, которое вы сохраняете, будет связано с этим userId.

Вместо этого вы должны использовать

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

так, что при сохранении и пользователь обновляется, пользователи пользовательские поля будут заполнены.

+0

спасибо! :) –

Смежные вопросы