簡體   English   中英

如何在Liferay上獲得用戶的名字?

[英]how do I get the user's first name on Liferay?

我是Liferay和Java的新手,我一直在努力爭取如何獲得用戶名字,這個產品的文檔真的很差,所以任何幫助都會受到高度贊賞。 所以我正在開發一個portlet,我希望它顯示用戶的名字,這是view.jsp文件:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page import="javax.portlet.PortletPreferences" %>
<%@ page import="com.liferay.portal.model.UserModel " %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<portlet:defineObjects />


<liferay-ui:success key="success" message="Greeting saved
       successfully!" />

<%
PortletPreferences prefs = renderRequest.getPreferences();
String greeting = (String)prefs.getValue(
"greeting", "Hello! Welcome to our portal.");
%>
<%

%>
<p><%= greeting %></p>
<portlet:renderURL var="editGreetingURL">
<portlet:param name="mvcPath" value="/edit.jsp" />
<portlet:param name="userName" value="Test" />

</portlet:renderURL>

<p><a href="<%= editGreetingURL %>">Edit greeting</a></p>

我已經使用了usermodel類或接口,我實際上找到了方法:getFirstName()但我不能讓它工作。

另一種選擇是使用Liferay ThemeDisplay,如下所示:

<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects />

<%= themeDisplay.getUser().getFirstName() %>

雖然我建議不要在你的代碼中使用JSP Scriptlets,並在你的portlet類代碼中用Java做這件事。

~~編輯:添加替代用戶不止一次~~

使用Tony和我的方法混合的一個例子是這樣的:

<%= com.liferay.portal.model.User user = themeDisplay.getUser(); %>

~~編輯2:用Java代碼做~~

請在此處查看我的要點: https//gist.github.com/4060650

使用JSTL去除所有scriptlet可以進一步簡化它。

嘗試添加到jsp:

<% 
com.liferay.portal.model.User user = 
      com.liferay.portal.util.PortalUtil.getUser(request);
String firstName = user.getFirstName();
%>
<p>User First Name=<%= firstName %></p>

為了便於理解,我添加了完整的軟件包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM