这理portlet.ext.library 继承 portlet。这意味着portlet.ext.library将会使用 portlet.jsp 作为它的模板。portlet.ext.library.view 继承 portlet.ext.library。这意味着portlet.ext.library.view portlet.ext.library也将会使用
portlet.jsp 作为它的模板.
注意:
这里的name=\值就是struts-config.xml中对应的forward=\的值
说明:StrutsPortlet的数据流转,如下图:
Step7:创建目录library
创建一个叫library的目录,你的目录结构应该像这样: ?\\ext-web\\docroot\\html\\portlet\\ext\\library。
Step8:创建init.jsp
在library中创建init.jsp你的目录结构应该像这样:?\\ext-web\\docroot\\html\\portlet\\ext\\library\\init.jsp。输入下列内容到init.jsp中: view plaincopy to clipboardprint?
<%@ include file=\
看看我们在这行中包含了什么? view plaincopy to clipboardprint?
<%@ include file=\ 实际对应目录是:?\\portal\\portal-web\\docroot\\html\\common\\init.jsp。这将会让我们使用Liferay
标签库
Step9:创建view.jsp
在library中创建view.jsp文件。在本例中,可以直接复制如下代码。 view plaincopy to clipboardprint?
<%@ include file=\
Add a book entry to the Library:
这将会让我们使用在上一步这定义的init.jsp
Step10:创建成功和错误页面
在liberay目录下面创建文件error.jsp和success.jsp,内容分别是“ERROR!”和“SUCCESS!” 我们可以在成功页面中显示一些内容。 view plaincopy to clipboardprint?
<%@ include file=\ <%
String bookTitle = request.getParameter(\ %>
<%= bookTitle %>
Step11:创建Action类
创建 action 类来处理提交,AddBookAction.java。 view plaincopy to clipboardprint?
package com.ext.portlet.library.action;
import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletConfig;
import javax.portlet.RenderRequest; import javax.portlet.RenderResponse;
import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping;
import com.liferay.portal.struts.PortletAction;
public class AddBookAction extends PortletAction {
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig config, ActionRequest req, ActionResponse res) throws Exception {
String bookTitle = req.getParameter(\ if (null == bookTitle || \ setForward(req, \ } else {
setForward(req, \ } }
public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, RenderResponse res) throws Exception {
if (getForward(req) != null && !getForward(req).equals(\ return mapping.findForward(getForward(req)); } else {
return mapping.findForward(\ } } }
Step12:测试框架部署
利用命令Ant deploy。部署文件到Tomcat服务器,需要重新启动服务器。检验文件是否部署到tomcat。
定向到? \\tomcat\\webapps\\ROOT\\WEB-INF 打开portlet-ext.xml,liferay-portlet-ext.xml,struts-config-ext.xml和tiles-defs-ext.xml检查文件是否部署正确。
定向到? \\tomcat\\webapps\\ROOT\\html\\portlet\\ext\\library 打开view.jsp,检查文件是否部署正确。
定向到? \\tomcat\\webapps\\ROOT\\WEB-INF\\lib 打开ext-impl.jar,检查文件AddBookAction是否部署正确。
启动服务器,访问http://localhost:8080。
登录系统,用户名:test@liferay.com。密码:test。
调出添加应用页面,找到添加的portlet。本例中,找到library。操作一下,看看是否可以看到成功页面。
本文来自CSDN博客,转载请标明出处http://blog.csdn.net/Pointer_v/archive/2009/02/12/3882749.aspx
六、Configuration Portlet开发 注意:
以下内容是基于Liferay 4.2.2版本,对于Liferay 5.1.X有很大的不同
对于这份指南,Configuration Portlet的开发流程采用的也是Struts Portlet的开发流程。
Step1:配置Portlet
添加portlet配置信息到?\\ext-web\\docroot\\WEB-INF\\portlet-ext.xml中。 对于这份指南, 添加下列内容到你的portlet-ext.xml。 view plaincopy to clipboardprint?
:
Step2:配置Portlet实例属性
添加Liferay具体信息到?\\ext-web\\docroot\\WEB-INF liferay-portlet-ext.xml。 对于这份指南, 添加下列内容到你的liferay-portlet-ext.xml中即可。 view plaincopy to clipboardprint?
注意:
1.
2. 这里的
Step3:定义Portlet名称
定向到?\\ext-ejb\\classes\\content\\Language-ext.properties添加:
view plaincopy to clipboardprint?
javax.portlet.title.EXT_3=Default Message 其中的key值(即javax.portlet.title.EXT_3),是“javax.portlet.title”+“portlet名字”(即在portlet-ext.xml中添加的portlet的
Step4:归类Portlet
定向到?\\ext-web\\docroot\\WEB-INF\\liferay-display.xml,添加Portlet归类信息如下: view plaincopy to clipboardprint?