[开发] Liferay portal jsp页面获取所有用户信息出错? 急
camel113
2009-08-20
jsp页面获取所有用户信息代码如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.util.*"%> <%@page import="com.liferay.portal.service.UserLocalServiceUtil"%> <%@page import="com.liferay.portal.model.User"%> <%@page import="cn.gov.jssw.webcms.dao.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% List<User> users = (List<User>)session.getAttribute("users"); if(users==null) users = UserLocalServiceUtil.getUsers(0, 20); PageSet pageset=(PageSet)request.getAttribute("pageSet"); if(pageset==null){ int rowcount=UserLocalServiceUtil.getUsersCount(); pageset=new PageSet(); pageset.setRowcount(rowcount); pageset.setCurrentpage(1); pageset.setPagecount((rowcount+20-1)/20); pageset.setPagesize(20); request.setAttribute("pageSet", pageset); } %> 其中UserLocalServiceUtil 类引用的是portal-service.jar ,但是现在运行此页面的时候出现下面的错误: 7: "http://www.w3.org/TR/html4/loose.dtd"> 8: <% 9: List<User> users = (List<User>)session.getAttribute("users"); 10: if(users==null) users = UserLocalServiceUtil.getUsers(0, 20); 11: PageSet pageset=(PageSet)request.getAttribute("pageSet"); 12: if(pageset==null){ 13: int rowcount=UserLocalServiceUtil.getUsersCount(); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause java.lang.RuntimeException: UserLocalService is not set com.liferay.portal.service.UserLocalServiceUtil.getService(UserLocalServiceUtil.java:871) com.liferay.portal.service.UserLocalServiceUtil.getUsers(UserLocalServiceUtil.java:89) org.apache.jsp.ShowUsers_jsp._jspService(ShowUsers_jsp.java:66) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 我查看了下UserLocalServiceUtil 类的源码,报错原因是UserLocalServiceUtil类里面调用的接口为空,才报出上面的错误java.lang.RuntimeException: UserLocalService is not set UserLocalServiceUtil类相应源码如下: public static UserLocalService getService() { if (_service == null) { throw new RuntimeException("UserLocalService is not set"); } return _service; } public void setService(UserLocalService service) { _service = service; } private static UserLocalService _service; |
|
fly_ever
2009-11-06
你用的liferay是哪个版本的啊?
我用的4.3.3,都没有这个方法,不过我用的下面的方法能够正确执行UserLocalServiceUtil.getUserByScreenName(1,userName) 你这个应该是没有通过spring取得UserLocalServiceUtil的实例,因此没有注入相应的UserLocalService实例。 |