我创造了主题。在这里,如果用户登录,那么他必须在标题上方看到他的名字,图像等。 它还包含编辑配置文件链接,该链接重定向到我放置了“编辑用户”portlet的页面。这是我的自定义portlet。
为了在主题中显示用户详细信息,我使用了代码:
<span>Welcome </span>
<span class="userName">$user_name</span>
<img alt="image" src="$user.getPortraitURL($themeDisplay)"/>
<a href="/myprofile">Edit Profile</a>
<a href="$sign_out_url">Logout</a>
编辑用户是一个spring portlet,我已经使用了动作请求来更新用户。
liferayUser = UserLocalServiceUtil.getUser(themeDisplay.getUserId());
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String email = request.getParameter("email");
if(liferayUser != null)
{
liferayUser.setFirstName(firstName);
liferayUser.setLastName(lastName);
liferayUser.setEmailAddress(email);
liferayUser.setModifiedDate(new Date());
liferayUser = UserLocalServiceUtil.updateUser(liferayUser);
logger.error(":::LR User updated:::"); }
我的页面正在刷新,用户正在更新我可以在文本框中看到响应。但我无法在主题中看到更改的值。
为了获得价值,我必须刷新页面。简而言之,$ user_name没有获得我的操作的更新值。因为我能够在liferay的手风琴中看到相同的名字。
有没有办法在portlet中的任何操作上重新加载主题。
我正在使用liferay 6.2版本。
先谢谢