第一次用plugins开发无疑等自于自杀,两个星期过去了,经历了无边的黑暗终于看到了光明。接着上一篇create.bat一个portlet,生成的一个portlet是一个最简单的portlet,如果只是普通的显示,OK是可以满足的。如果是一个复杂的则他是不能满足的,你需要做如下的修改:
(1)portlet.xml:<portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>JSPPortlet改为StrutsPortlet,view-jsp改为view-action,<value>改为自已的。这样就和struts绑上了。
(2)增加struts-config文件,文件里,可以根据自已的需要来定义message-resource,tiles.
(3)liferay-portlet.xml 增加上struts-path,<configuration-action-class>则根据需要。
(4)web.xml增加如下:
<servlet>
<servlet-name>PortletActionServlet</servlet-name>
<servlet-class>com.liferay.portal.struts.PortletActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
自定义servlet<load-on-startup>要从1开始,因为自动部署后0会被com.liferay.portal.kernel.servlet.PortletServlet占用。<taglib>liferay-portlet.tld也是自动部署后加上去,但是这是不够的,如果你要用到配置页,liferay-portlet-ext.tld是需要的,liferay-ui也经常会需要的,如果在页面上会用到themeid,layout之类的方法,那么你还要增加liferay-theme.tld。其他的可在项目中根据需要看是否要增加。
(5)在docroot下面增加META-INF/context.xml,文件内容如下:
<Context>
<Loader
loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader"
/>
</Context>
不要小瞧这段话,他是至关重要的,让你当前的portlet依赖于lifeay的包。如果没有这个会报castException之类的错误,两个应用虽然引用的是同一个包,但是包不在同一个别lib下面,类型转换时会认为他们不是同一类型,这个问题看了一周,在lifeay官网上有人回答了这个错误的引起的原因,却没有告之解决方案,还是在一个好友的帮助之下解决了这个问题。
(6)生成的JSP都有这么一句话,<portlet:defineObjects />这个是就是第四点说的,liferay-portlet.tld标签中的一个,你的代码要写在这句话之下,他定义很多常用的类,如actionurl,renderurl,portletpreferences,具体可以看com.liferay.taglib.portlet.DefineObjectsTei,同样的liferay-theme.tld中也有<liferay-theme:defineObjects />他定义了themeDisplay,layout,permissionChecker,portletGroupId,theme,具体可以看com.liferay.taglib.theme.DefineObjectsTei。
按上面的配置改好后,基本就和ext中开发一样了,最后一点建义,自定义portlet工程,如果要引用包,不要放在WIN-INF/lib下面,放在sdk下面的lib下面,如果用到了除了lifeay之外的包可以放在WIN-INF/lib下面,因为deploy后他会把WIN-INF/lib下所有的包都部署过去,而有些包是只能加载一次的。
最后希望大家都能看到光明。
分享到:
相关推荐
Liferay Plugins SDK 5.2.3 是一个专门用于开发Liferay Portal的portlet和其他插件的应用开发工具包。Liferay Portal是一款开源的企业级内容管理平台,它提供了丰富的功能,包括网站构建、社交网络、协作工具等。这...
Liferay Plugins SDK 5.1.2 是一个用于开发Liferay Portal插件的软件开发工具包,它为开发者提供了一套完整的框架和工具,以便于创建Portlets、Themes以及其他定制功能。Liferay Portal是一个开源的企业级内容管理和...
Liferay Plugins SDK 6.1.1 是一个用于开发Liferay Portal扩展的工具包,它为开发者提供了构建自定义portlet、主题、布局、工作流和其他插件所需的一切资源。这个特定版本的SDK发布于2013年8月16日,版本号6.1.1,...
Liferay 6.2 SDK 是一个开发工具包,专为构建和扩展Liferay Portal 6.2 版本而设计。Liferay Portal 是一个开源的企业级内容管理平台,提供了丰富的功能,如网站创建、协作、内容管理、社交媒体整合等。Liferay ...
在"Liferay Plugins SDK 6.1.1"这个版本中,我们可以找到以下几个关键知识点: 1. **Portlets**:Portlets是Liferay Portal中的核心组件,它们类似于网页小部件,可以在门户页面上展示各种内容和服务。通过Liferay ...
the portlets.zip files, which provide portlets directory skeleton, needs to be changed by a correct one....cd liferay-plugins-sdk-5.1.2/portlets rm portlet.zip and download it from here !
4. Liferay Plugins SDK - 提供了开发Liferay插件所需的所有工具和库。 5. Liferay Portal Source Code - Liferay的核心源代码,用于进行源码级别的开发。 6. Liferay Portal Tomcat Bundle - 包含Liferay门户和...
Liferay Portlet SDK 5.2.3是该系列的一个特定版本,专为Liferay Portal 5.2.3版本设计,它包含了开发portlet所需的类库、文档和示例代码,使得开发者能够高效地集成自定义功能到Liferay Portal环境中。 **portlet...
Liferay 6.2.1 SDK 是一个用于开发 Liferay Portal 扩展的软件开发工具包,它包含了构建 Liferay 应用程序所需的各种库和工具。这个版本的 SDK 特别强调了对依赖项的管理和优化,以适应那些网络环境受限或网络速度较...
文档也描述了如何在本地安装和配置Liferay的开发环境,包括设置`ANT_HOME`环境变量和使用`liferay-plugins-sdk-[version]`目录下的脚本创建新的Portlet项目。 ### Liferay IDE 配置和控制台编码 在Liferay IDE中,...
1 liferay-plugins-sdk-6.1.1(Plugins SDK) 2 liferay-portal-6.1.1-ce-ga2(Bundled with Tomcat) 3 liferay-portal-src-6.1.1-ce-ga2(Portal Source,可选) 4 liferay IDE 1.6 5 Java SDK(开发Java程序当然要安装...
Liferay是一款强大的企业级门户平台,它不仅能够为用户提供一站式的访问体验,还可以作为后端服务来支持移动应用开发。随着移动互联网的发展,越来越多的企业希望通过移动设备来提高工作效率、提升客户服务体验。...
总结来说,这四个Liferay开发文档为开发者提供了一个全面的学习路径,从基础的portlet开发到高级的主题和插件设计,再到Liferay服务的集成和定制,覆盖了Liferay开发的各个方面。对于希望深入理解和精通Liferay开发...
Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...
- 获取Liferay Plugins SDK,例如`liferay-plugins-sdk-6.0.5.zip`,这是开发Liferay Portlets所必需的工具包。 - 下载Liferay Portal Tomcat bundle,如`liferay-portal-tomcat-6.0.5.zip`,它包含运行Liferay所...
- **Ext-plugins**:Ext-plugins是一种特殊的插件类型,用于扩展Liferay的功能,如添加新的服务或修改现有行为。 - **Web Application Integrator (WAI)**:WAI用于集成现有的Web应用程序到Liferay门户中,使其...
### Liferay Portal 二次开发指南 #### 一、Liferay Portal 架构解析 ##### 1.1 Portal规范 Liferay Portal遵循了两种主要的门户规范:JSR 168 和 WSRP (Web Services for Remote Portlets)。JSR 168是一个Java...
3. **Liferay Plugin SDK**:文件名为`liferay-plugins-sdk-6.1.0-ce-ga1-20120106155615760.zip`,包含Liferay 6.1所需的SDK。 4. **Liferay Tomcat Bundle**:文件名为`liferay-portal-tomcat-6.1.0-ce-ga1-...
4. **Liferay Workspace**:创建一个新的Eclipse工作空间(Workspace),并将Liferay Plugin SDK的`hooks`, `modules`, `plugins`, 和 `themes`目录映射为工作空间的项目。 5. **jikes.exe**:这是一个早期的Java...