`
115893520
  • 浏览: 142695 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

简单Struts Portlet开发

阅读更多

本文介绍的是简单的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是一种结合了Struts框架与Portlet技术的开发模式,它允许开发者在门户环境中...

    liferay 使用struts2 开发portlet

    在本文中,我们将深入探讨如何使用Struts2框架在Liferay平台上开发Portlet。...Struts2的灵活性和强大的配置能力使得它成为Liferay Portlet开发的理想选择,能够帮助开发者高效地构建功能丰富的Web应用程序。

    portlet开发指南

    ### Portlet开发指南知识点概述 #### 一、Portlet简介 **什么是Portal:** Portal(门户)是指一种网站或应用程序的界面,它提供了一个统一的入口来访问多种不同的信息和服务。用户可以通过Portal来访问新闻、天气...

    简单的Struct2-portlet+Demo

    在Portlet开发中,portlet与传统的Web应用有所不同,它运行在portlet容器中,如Liferay或WebSphere Portal。Portlet有自己的生命周期,包括初始化、渲染、事件处理等阶段。Struts2 Portlet插件则允许开发者使用...

    liferay_4_portlet_development_guide

    ### Liferay 4 Portlet开发指南关键知识点解析 #### 一、引言 - **Portlet 开发与 Servlet 开发的区别** - 在本章节中,作者对比了Portlet开发与传统的Servlet开发之间的区别。Portlet是Web应用程序的一个组件,...

    用struts1.X实现liferay portlet插件(HelloWorld)

    3. **Liferay Portlet开发**:在Liferay中,portlet可以通过两种方式创建:使用Liferay提供的Maven插件自动生成portlet项目结构,或者手动设置项目结构。开发流程通常包括创建portlet.xml、portlet-class、JSP页面...

    struts2经典实例

    这个实例有助于理解portlet开发和Struts2的扩展性。 4. **Struts2 Blank** `struts2-blank-2.0.1.war` 是一个基础模板,用于快速搭建新的Struts2项目。它包含了最小化的配置,帮助开发者了解如何开始一个新项目,...

    Liferay_Portal_6学习之路-学习笔记完整版

    在 Liferay Portal 中,也可以利用 Struts2 来开发 Portlet,进一步提升开发效率和应用性能。 1. **创建 Struts2 Portlet**:类似于 Struts Portlet 的创建步骤,但需要针对 Struts2 的架构进行相应的调整。 2. **...

    荷露叮咚Liferay Portal 6学习笔记完整版.

    - Struts Portlet开发是基于Struts框架来开发Portlet的过程,展示了如何使用Struts框架来创建Portlet应用。这部分内容涉及了Struts框架的基本使用和Portlet开发的相关知识。 6. 使用Struts2开发Portlet: - ...

    liferay portal 开发指南

    - **编写 Struts Portlet**:结合 Struts 框架开发功能丰富的 Portlet。 - **添加 Action**:实现用户交互逻辑。 - **结论**:总结 Struts Portlet 的优点和局限性。 #### 六、Liferay 服务 1. **安全和许可...

    struts2.0.14_apps

    Struts 2 是一个流行的Java Web开发框架,用于构建MVC(Model-View-Controller)架构的应用程序,它提供了强大的控制层解决方案,简化了开发过程并提高了代码的可维护性。 这个压缩包包含以下三个子文件: 1. **...

    Struts2.3.16.3官方实例,4个

    4. **struts2-mailreader**:这个例子是一个简单的邮件阅读器应用,它演示了如何在Struts2中使用邮箱服务,如发送和接收邮件。开发者可以从中学到如何在Struts2应用中集成外部服务,如邮件服务器,并处理相关的业务...

    liferay开发文档

    - **结论**:总结Struts Portlet开发的经验和技巧,为后续的开发工作打下坚实的基础。 #### 八、Portlet部署 - **Liferay的插件管理系统**: - **插件管理系统简介**:Liferay提供了一个强大的插件管理系统,...

    Liferay搭建struts2

    `ognl-3.0.6.jar`是Object-Graph Navigation Language的缩写,它是Struts2中的默认表达式语言,用于访问和操作对象属性以及执行简单的计算。 `commons-collections-3.1.jar`和`commons-lang3-3.1.jar`、`commons-...

    liferay+struts2 demo

    总之,"liferay+struts2 demo"是一个很好的实践项目,它涵盖了企业级Web开发的关键技术,包括MVC框架的运用、portlet的开发、以及Liferay和Struts2的集成。通过这个示例,开发者不仅可以学习到基本的编程技巧,还能...

    struts2学习文档struts2pdf

    9. **Portlet支持**:Struts2还支持Portlet规范,这使得它能够在门户环境中作为Portlet运行,而无需对现有代码进行重大修改。 #### 三、Struts2的历史与发展 - **起源**:Struts最初是由程序员Craig R. McClanahan...

    liferayStruts2Demo开发.pdf

    根据提供的文件信息,本文档主要介绍了如何在Liferay平台上使用Eclipse集成开发环境(IDE)创建一个基于Struts 2的Portlet应用示例。接下来,我将从标题和描述中提取的知识点进行详细说明。 ### Liferay平台和...

    Struts2.1权威指南——基于WebWork核心的MVC开发.pdf

    - Portlet支持:增加了对portlet应用的支持,便于在portlet容器中部署Struts2应用。 - **内容组织**:本书遵循读者的学习规律,先介绍基本概念与操作,再深入讲解每个知识点及其用法。全书共包含近100个实例,旨在...

    struts2.3 tutorial

    14. Portlets开发:由于Struts2也支持Portlet开发,这部分会介绍相关的知识点。 15. 日志记录:Struts2也支持日志记录,可以帮助开发者在开发和部署过程中进行问题诊断。 16. 常见问题解答(FAQs):提供一些常见...

Global site tag (gtag.js) - Google Analytics