WEB开发网
开发学院软件开发Java liferay的稍微复杂的一个portlet实例 阅读

liferay的稍微复杂的一个portlet实例

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 打开\ext-service\src\com\ext\portlet\users\service下UsersEntryService文件,建立一个名为getAllUsers 的抽象方法; public List getAllUsers() throws SystemException; 在\ex

打开\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");
  }
}
}

上一页  1 2 3 4 5 6 7  下一页

Tags:liferay 稍微 复杂

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接