Liferay 6中使用Struts2开发Portlet实战指南
1星 需积分: 9 82 浏览量
更新于2024-09-18
收藏 83KB DOC 举报
"LifeRay_Portal_6学习笔记,讲解如何使用Struts2开发Portlet,适用于Liferay 6.0.4版本,采用普通插件模式,涉及Struts2的相关jar包及portlet.xml配置文件的解析。"
在Liferay 6.0.4版本中,开发Portlet时可以选择使用Struts2框架,这需要一定的准备工作和特定的库文件。首先,确保你有以下Struts2相关的jar包:
1. antlr-2.7.2.jar
2. commons-fileupload-1.2.1.jar
3. freemarker-2.3.15.jar
4. ognl-2.7.3.jar
5. struts2-core-2.1.8.1.jar
6. struts2-portlet-plugin-2.1.8.1.jar
7. xwork-core-2.1.6.jar
这些库文件是实现Struts2 Portlet的基础,它们包含了Struts2的核心功能、表达式语言(EL)、模板引擎和portlet特定的适配器。
开发模式选择普通插件模式,而不是Ext模式,意味着你在Liferay的插件环境中直接编写和部署Portlet,而不涉及Liferay的Ext框架。
在开发过程中,可以参考Struts2提供的portlet示例——struts2-portlet-2.1.8.1.war,它位于Struts2解压包的apps目录下。虽然该示例基于Pluto Portal,但由于主要关注Portlet的开发,因此对Liferay 6的Portlet开发仍有借鉴价值。
portlet.xml是Portlet配置文件,其内容至关重要。例如:
```xml
<portlet>
<portlet-name>StrutsPortlet</portlet-name>
<display-name>StrutsTestPortlet</display-name>
<!-- Portlet类,这里是Struts2的JSR168 Dispatcher -->
<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>
<!-- 配置视图命名空间 -->
<init-param>
<name>viewNamespace</name>
<value>/strutsDemoView</value>
</init-param>
<!-- 设置默认action -->
<init-param>
<name>defaultViewAction</name>
<value>index</value>
</init-param>
<!-- 配置编辑命名空间 -->
<init-param>
<name>editNamespace</name>
<value>/strutsDemoEdit</value>
</init-param>
</portlet>
```
在这个配置中,`portlet-class`定义了Portlet的实现类,`viewNamespace`和`editNamespace`分别指定了视图和编辑模式下的命名空间,这与Struts2的配置文件(如Struts.xml)中的namespace属性相对应。`defaultViewAction`参数则定义了默认的视图动作。
为了使Struts2能够正确处理Portlet的请求,还需要在Struts.xml文件中定义相应的action和结果。例如:
```xml
<package name="strutsDemo" namespace="/" extends="struts-default">
<action name="index" class="com.example.StrutsDemoAction">
<result name="success">/jsp/strutsDemoView.jsp</result>
</action>
</package>
```
这里,`index` action对应了portlet.xml中的`defaultViewAction`,`success`结果则指定视图页面的位置。
使用Struts2开发Liferay 6的Portlet需要理解portlet.xml的配置,以及Struts2自身的配置机制,包括actions、results和namespace等概念。通过合理的配置和编程,可以充分利用Struts2的MVC架构和强大的表单处理能力来构建功能丰富的Liferay Portlets。
2010-12-15 上传
2024-12-26 上传
2024-12-26 上传
2024-12-26 上传
gwpking
- 粉丝: 74
- 资源: 133
最新资源
- ArtLinks:链接到我所有的艺术作品
- exam-countdown:一个帮助我跟踪即将到来的考试的小网站
- Excel模板客户登记表.zip
- PV8_PEMFC8_battery10_inverter_ACload_LC_grid_储能_SIMULINK_Battery
- PrivacyBreacher:旨在展示Android操作系统中的隐私问题的应用
- 毕业设计&课设--东南大学本科毕业设计(论文)模版.zip
- magnitude-to-number:将十亿,百万和万亿字符串转换为整数
- txt_wysiwyg:互联网的 TXT WYSIWG 编辑器
- my-delivery-boy
- 485_UART2实验_485采集温湿度_STM32F103_STM32uart2_modbus解析_rs485
- 核
- Yakov_Fain-Book:雅各布精美书
- pi4-cluster-ansible-roles:Ansible角色,用于执行Raspberry Pi 4工作程序节点的初始设置(尚无k8s软件)
- OfficeManagementSystem:一种有助于执行办公室日常活动的系统,包括出勤管理,任务管理,休假管理,投诉管理等
- 毕业设计&课设--高校校园设备管理系统-毕业设计.zip
- FitnessTracker:使用Spring Boot的Fitness Tracker RESTful Web应用程序