2012-11-09 5 views
3

저는 Liferay와 Java를 처음 접했고 사용자 firstname을 얻는 방법에 대해 하루 종일 고심하고 있습니다.이 제품의 설명서는 정말 열악하여 도움이 될만한 제품입니다. 그래서 I'am 포틀릿에 노력하고 내가 그것을 사용자에게 이름을 표시하려면, 이것은을 View.jsp 파일입니다어떻게 Liferay에서 사용자의 이름을 얻습니까?

<%@ 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()하지만 그냥 작동하지 않습니다. 는 JSP에 추가

답변

5

또 다른 대안은 지금처럼하는 Liferay ThemeDisplay을 사용하는 것입니다 :

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

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

난 당신의 코드에서 JSP 스크립틀릿을 사용에 대해 조언하고 포틀릿 클래스 코드에 자바에서이 작업을 수행 할 것입니다 있지만.

~~ 편집 : 한 번

토니의 혼합물을 useing의 예 ~~ 나의 접근 방식과 같이 것보다 사용자 이상을 사용하는 대안을 추가 :

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

~~ 편집 2 : https://gist.github.com/4060650

이 더 JSTL 모든 스크립틀릿을 없애 사용하여 단순화 할 수있다 : 자바 코드에서이 작업을 수행하려면 ~~

여기 내 요점을 참조하십시오.

+0

고마워요,이게 효과가있는 것 같아요, 나중에 프로그램에서 변수에 대한 Tony의 접근법을 사용하려고합니다. 그러나 Im 또한이 것을 upvoting하는 것입니다, 감사합니다. – isJustMe

+0

투표 해 주셔서 감사합니다! com.liferay.portal.model.User user = themeDisplay.getUser();를 사용하여 두 가지 방법을 혼합하여 사용할 수 있습니다. – Jonny

+0

excelente, 내가 이것을 허용으로 표시하려고하는데, 단 하나의 질문입니다. JSP 대신 java 클래스에서이 작업을 수행하는 방법을 알고 있습니까? – isJustMe

3

봅니다 :

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

나는 이해의 편의를 위해 전체 패키지를 추가했다.

+0

토니, 요청 매개 변수는 무엇입니까? – isJustMe

+0

이것은 JSP 암시 적 객체 중 하나입니다 (http://www.gulland.com/courses/jsp/objects 참조). 이것은 javax.servlet.http.HttpServletRequest 유형이며 모든 JSP 페이지에서 기본적으로 (암시 적으로) 사용할 수 있습니다. –

관련 문제