快速业务通道

liferay的稍微复杂的一个portlet实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
ot; table="Users">

liferay的稍微复杂的一个portlet实例(2)

时间:2009-11-12 javaeye w2c2y2

业务实现编码

现在我们要实现一个查询功能,将数据库中表名users中所有记录的username查询出来,并显示在前台。

打开\ext-service\src\com\ext\portlet\users\service下UsersEntryService文件,建立一个名为getAllUsers的抽象方法;

public List getAllUsers() throws SystemException;

在\ext-impl\src\com\ext\portlet\users\service\impl\UsersEntryServiceImpl.java中实现它.

public List getAllUsers() throws SystemException { return UsersEntryUtil.findAll(); }

同样spring的service层 也是通过辅助类作为对外唯一入口,所以在UsersEntryServiceUtil里面增加一

个方法getAllUsers作为service层的方法getAllUsers的入口。

public static List getAllUsers() throws SystemException{ return _service.getAllUsers(); }

需要注意的是service层接口对应具体实现是由工厂类指定。他们捆绑关系可以查看spring配置文件信息。

在执行ant 的build-service-portlet-usertest任务已经完成了。

在\src\com\ext\portlet\users\action目录下建立一个ViewUserAction.java文件,完成响应客户端请求。

package com.ext.portlet.users.action; import com.ext.portlet.users.model.UsersEntryModel; import com.ext.portlet.users.service.UsersEntryServiceUtil; import com.liferay.portal.struts.PortletAction; import java.util.ArrayList; import java.util.List; import javax.portlet.PortletConfig; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.portlet.WindowState; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class ViewUsersAction extends PortletAction { public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, RenderResponse res) throws Exception { if (req.getWindowState().equals(WindowState.NORMAL)) { return mapping.findForward("portlet.ext.users.view"); } else { List users = UsersEntryServiceUtil.getAllUsers(); List usernames = new ArrayList(); for (int i = 0; i < users.size(); i++) { usernames.add(((UsersEntryModel) users.get(i)).getUsername()); } req.setAttribute("users", usernames); req.setAttribute("count", ""+users.size()); return mapping.findForward("portlet.ext.users.view_users"); } } }

里面大概功能是如果porlet的窗口状态时普通,则定向到一个叫portlet.ext.myuser.view的目标上。

如果窗口状态是最大化,那么就从调用userLocalServiceUtil,从数据库里面获取所有人员信息。

liferay的稍微复杂的一个portlet实例(3)

时间:2009-11-12 javaeye w2c2y2

Portlet的生成

建立自己的portlet。在\ext-impl\src\com\ext\portlet\users下面新建文件UsersPortlet.java

package com.ext.portlet.users; import com.liferay.portlet.StrutsPortlet; import java.io.IOException; import javax.portlet.PortletException; import javax.portlet.PortletPreferences; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; public class UsersPortlet extends StrutsPortlet { public void doView( RenderRequest renderRequest, Render

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号