本文介绍的是简单的Struts portlet开发
首先我们打开ext项目下的ext-web,结构如下:
portlet的配置文件主要有以下几个:
liferay-display.xml
liferay-portlet-ext.xml
portlet-ext.xml
structs-config.xml
tiles-defs.xml
我们开发的portlet一般都放在docroot/html/portlet/ext下面
下面我们进行一个简单的portlet开发:
打开portlet-ext.xml,加入下面的文字:
<portlet>
<portlet-name>EXT_MyPortlet
</portlet-name>
<display-name>My Portlet</display-name>
<portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>
<init-param>
<name>view-action</name>
<value>/ext/my_portlet
/view</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
注意一定要放到
<portlet-app></portlet-app>
里面
上面我们定义了一个portlet-name为EXT_MyPortlet,display-name为My Portlet的Portlet,对该portlet拥有权限的用户为超级用户和用户。
接着我们打开liferay-portlet-ext.xml,在
<liferay-portlet-app></liferay-portlet-app>
中间添加如下内容:
<portlet>
<portlet-name>EXT_MyPortlet
</portlet-name>
<struts-path>ext/my_portlet
</struts-path>
<use-default-template>false</use-default-template>
</portlet>
注意,此处的portlet-name一定要跟portlet-ext.xml中设定的相同,而portlet-ext.xml中
<init-param>
<name>view-action</name>
<value>/
ext/my_portlet
/view
</value>
</init-param>
里面的value的前缀就对应着struts-path
接着我们打开struts-config.xml
加入以下部分:
<action path="/ext/my_portlet/view
" forward="portlet.ext.my_portlet.view
" />
此处的path应与portlet-ext.xml中的value相同
下一步,打开tiles-defs.xml,加入以下部分:
<definition name="portlet.ext.my_portlet
" extends="portlet" />
<definition name="portlet.ext.my_portlet.view
" extends="portlet.ext.my_portlet
">
<put name="portlet_content" value="/portlet/ext/my_portlet/view.jsp" />
</definition>
此处的第二个definition name应与struts-config.xml中的forward相同
路径配置算是结束了,我们开始新建我们的jsp页面
在ext\ext-web\docroot\html\portlet\ext路径下新建一个名为my_portlet的文件夹,然后我们新建一个名为view.jsp的文件,内容如下:
My Portlet!
最后我们找到ext项目下的build.xml文件,右键run as->ant build...选择deploy,然后执行
等发布完毕,运行startup.bat,用test帐号等入liferay,点add content,undefined->javax.portlet.title.EXT_MyPortlet,我们就可以在页面上看到自己开发的Portlet啦!
简单说一下portlet的运行,当portlet显示的时候,会首先
portlet-ext.xml
<name>view-action</name>
<value>/ext/my_Portlet/view
</value>
找到里面的view-action,然后继续去
struts-config.xml
path=“/ext/my_portlet/view
”
forward=“portlet.ext.my_portlet.view
”
寻找页面的导向,接着去
tiles-defs.xml
name=“portlet.ext.my_portlet.view
”
value=“/portlet/ext/my_portlet/view.jsp
”
寻找页面的路径,于是在
/portlet/ext/my_portlet/view.jsp
路径下找到了要显示的页面
附带的说一句:
portlet的名字为javax.portlet.title.EXT_MyPortlet,似乎很不美观,我们可以在
ext\ext-ejb\classes\content\Language-ext.properties中,加入
javax.portlet.title.EXT_MyPortlet=My Portlet即可
要是想把自己的portlet不放在undefined里面,而放置到test里面,则需要找到
\ext\ext-web\docroot\WEB-INF\liferay-display.xml,
找到<category name="category.test"></category>,在里面加入<portlet id="EXT_MyPortlet" />
<portlet id="EXT_MyPortlet"></portlet>
分享到:
相关推荐
### Struts-Portlet开发详解 #### 一、概述 在深入探讨Struts-Portlet开发之前,我们先来了解一下其基本概念和发展背景。Struts-Portlet是一种结合了Struts框架与Portlet技术的开发模式,它允许开发者在门户环境中...
在本文中,我们将深入探讨如何使用Struts2框架在Liferay平台上开发Portlet。...Struts2的灵活性和强大的配置能力使得它成为Liferay Portlet开发的理想选择,能够帮助开发者高效地构建功能丰富的Web应用程序。
### Portlet开发指南知识点概述 #### 一、Portlet简介 **什么是Portal:** Portal(门户)是指一种网站或应用程序的界面,它提供了一个统一的入口来访问多种不同的信息和服务。用户可以通过Portal来访问新闻、天气...
在Portlet开发中,portlet与传统的Web应用有所不同,它运行在portlet容器中,如Liferay或WebSphere Portal。Portlet有自己的生命周期,包括初始化、渲染、事件处理等阶段。Struts2 Portlet插件则允许开发者使用...
### Liferay 4 Portlet开发指南关键知识点解析 #### 一、引言 - **Portlet 开发与 Servlet 开发的区别** - 在本章节中,作者对比了Portlet开发与传统的Servlet开发之间的区别。Portlet是Web应用程序的一个组件,...
3. **Liferay Portlet开发**:在Liferay中,portlet可以通过两种方式创建:使用Liferay提供的Maven插件自动生成portlet项目结构,或者手动设置项目结构。开发流程通常包括创建portlet.xml、portlet-class、JSP页面...
这个实例有助于理解portlet开发和Struts2的扩展性。 4. **Struts2 Blank** `struts2-blank-2.0.1.war` 是一个基础模板,用于快速搭建新的Struts2项目。它包含了最小化的配置,帮助开发者了解如何开始一个新项目,...
在 Liferay Portal 中,也可以利用 Struts2 来开发 Portlet,进一步提升开发效率和应用性能。 1. **创建 Struts2 Portlet**:类似于 Struts Portlet 的创建步骤,但需要针对 Struts2 的架构进行相应的调整。 2. **...
- Struts Portlet开发是基于Struts框架来开发Portlet的过程,展示了如何使用Struts框架来创建Portlet应用。这部分内容涉及了Struts框架的基本使用和Portlet开发的相关知识。 6. 使用Struts2开发Portlet: - ...
- **编写 Struts Portlet**:结合 Struts 框架开发功能丰富的 Portlet。 - **添加 Action**:实现用户交互逻辑。 - **结论**:总结 Struts Portlet 的优点和局限性。 #### 六、Liferay 服务 1. **安全和许可...
Struts 2 是一个流行的Java Web开发框架,用于构建MVC(Model-View-Controller)架构的应用程序,它提供了强大的控制层解决方案,简化了开发过程并提高了代码的可维护性。 这个压缩包包含以下三个子文件: 1. **...
4. **struts2-mailreader**:这个例子是一个简单的邮件阅读器应用,它演示了如何在Struts2中使用邮箱服务,如发送和接收邮件。开发者可以从中学到如何在Struts2应用中集成外部服务,如邮件服务器,并处理相关的业务...
- **结论**:总结Struts Portlet开发的经验和技巧,为后续的开发工作打下坚实的基础。 #### 八、Portlet部署 - **Liferay的插件管理系统**: - **插件管理系统简介**:Liferay提供了一个强大的插件管理系统,...
`ognl-3.0.6.jar`是Object-Graph Navigation Language的缩写,它是Struts2中的默认表达式语言,用于访问和操作对象属性以及执行简单的计算。 `commons-collections-3.1.jar`和`commons-lang3-3.1.jar`、`commons-...
总之,"liferay+struts2 demo"是一个很好的实践项目,它涵盖了企业级Web开发的关键技术,包括MVC框架的运用、portlet的开发、以及Liferay和Struts2的集成。通过这个示例,开发者不仅可以学习到基本的编程技巧,还能...
9. **Portlet支持**:Struts2还支持Portlet规范,这使得它能够在门户环境中作为Portlet运行,而无需对现有代码进行重大修改。 #### 三、Struts2的历史与发展 - **起源**:Struts最初是由程序员Craig R. McClanahan...
根据提供的文件信息,本文档主要介绍了如何在Liferay平台上使用Eclipse集成开发环境(IDE)创建一个基于Struts 2的Portlet应用示例。接下来,我将从标题和描述中提取的知识点进行详细说明。 ### Liferay平台和...
- Portlet支持:增加了对portlet应用的支持,便于在portlet容器中部署Struts2应用。 - **内容组织**:本书遵循读者的学习规律,先介绍基本概念与操作,再深入讲解每个知识点及其用法。全书共包含近100个实例,旨在...
14. Portlets开发:由于Struts2也支持Portlet开发,这部分会介绍相关的知识点。 15. 日志记录:Struts2也支持日志记录,可以帮助开发者在开发和部署过程中进行问题诊断。 16. 常见问题解答(FAQs):提供一些常见...