【Liferay Portal指南五】——Struts Portlet开发

注意:

以下内容是基于Liferay 4.2.2,如果使用Liferay5.1.X版本有些地方是不一样的,在这里就先不细说了。

 

建议开发流程如下:

为什么用Struts?
1、Struts实现了MVC.虽然有其他框架实现MVC,Struts是最广泛应用和最成熟的技术.
2、什么是MVC?MVC将显示代码从业务逻辑中分离出来.
3、Struts在struts-config.xml中提供了集中的页面流管理.这使得它高度可升级并且使得你模块化代码流程.
4、通过使用struts,你可以使用一些最佳实践,已经集成在框架中.

为什么用tiles?
一个页面布局是一个使用包含典型声明的设计.如果有100个JSPs并且头和尾都需要改变,所有的100JSPs都需要改变.用tiles,一个简单的模板可以被用于定义页面布局.只要模板改变,所有页面将会依次改变。



Step1:配置Portlet
添加portlet配置信息到…/ext-web/docroot/WEB-INF/portlet-ext.xml中。
对于这份指南, 添加下列内容到你的portlet-ext.xml。
 
 
Step2:配置Portlet实例属性
添加Liferay具体信息到…/ext-web/docroot/WEB-INF liferay-portlet-ext.xml。
对于这份指南, 添加下列内容到你的liferay-portlet-ext.xml中即可。
  
注意:
1、 <sruts-path> 是value中第一个“/”和最后一个“/”之间的内容。
2、 这里的<portlet-name>元素的值 EXT_4必须要和portlet-ext.xml中的<portlet-name>元素的值一致的。

 

Step3:定义Portlet名称
定向到…/ext-ejb/classes/content/Language-ext.properties添加:
 
 其中的key值(即javax.portlet.title.EXT_4),是“javax.portlet.title”+“portlet名字”(即在portlet-ext.xml中添加的portlet的<portlet-name>的值)

 

Step4:归类Portlet
定向到…/ext-web/docroot/WEB-INF/liferay-display.xml,添加Portlet归类信息如下:

 

 以上信息主要是为了在添加应用窗口中显示定义的portlet。如果做了Step3,那么最终在添加应用窗口中显示是第三步所定义的名字。在本例中将显示“Library”。添加应用窗口如下图所示,因使用liferay版本不同页面效果会不太一样。


 
Step5:定义Struts页面流

在配置文件…/ext-web/docroot/WEB-INF/struts-config.xml中定义struts页面流。

 

注意:
这里的path="/ext/library/add_book"值就是portlet-ext.xml中对应的view-action的值。
  

Step6:定义tiles页面布局
在配置文件…/ext-web/docroot/WEB-INF/tiles-defs.xml中定义页面布局。

这理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="portlet.ext.library.view"值就是struts-config.xml中对应的forward="portlet.ext.library.view"的值

说明: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中:
 
 
看看我们在这行中包含了什么?

实际对应目录是:…/portal/portal-web/docroot/html/common/init.jsp。这将会让我们使用Liferay 标签库

 

Step9:创建view.jsp
在library中创建view.jsp文件。在本例中,可以直接复制如下代码。

这将会让我们使用在上一步这定义的init.jsp

 

Step10:创建成功和错误页面
在liberay目录下面创建文件error.jsp和success.jsp,内容分别是“ERROR!”和“SUCCESS!”
我们可以在成功页面中显示一些内容。

 

Step11:创建Action类
创建 action 类来处理提交,AddBookAction.java。

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,检查文件是否部署正确。
启动服务器,访问http://localhost:8080
登录系统,用户名:test@liferay.com。密码:test。
调出添加应用页面,找到添加的portlet。本例中,找到library。操作一下,看看是否可以看到成功页面。

 
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码匠君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值