我是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>
Run Code Online (Sandbox Code Playgroud)
我已经使用了usermodel类或接口,我实际上找到了方法:getFirstName()但我不能让它工作.
另一种选择是使用Liferay ThemeDisplay,如下所示:
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects />
<%= themeDisplay.getUser().getFirstName() %>
Run Code Online (Sandbox Code Playgroud)
虽然我建议不要在你的代码中使用JSP Scriptlets,并在你的portlet类代码中用Java做这件事.
~~编辑:添加替代用户不止一次~~
使用Tony和我的方法混合的一个例子是这样的:
<%= com.liferay.portal.model.User user = themeDisplay.getUser(); %>
Run Code Online (Sandbox Code Playgroud)
~~编辑2:用Java代码做~~
请在此处查看我的要点:https://gist.github.com/4060650
使用JSTL去除所有scriptlet可以进一步简化它.
归档时间: |
|
查看次数: |
2486 次 |
最近记录: |