链接
http://wurd.iteye.com/blog/160055
Jboss Portal本身并没有提供eclipse portlet开发插件,花了整整一天才找到适合的JBoss Portal开发环境,先后试用了Pluto portlet Plugin和eclipse-portalpack,发现Pluto不能直接导出WAR包,不太方便,还是eclipse-portalpack比较实用,下文将使用一个HelloWorld实例进行说明。
1.下载最新版本的eclipse-portalpack:
插件介绍页面:https://eclipse-portalpack.dev.java.net/
插件1下载URL:https://eclipse-portalpack.dev.java.net/files/documents/6568/51760/com.sun.jsr168.portlet.plugin_1.0.0.jar
插件2下载URL:https://eclipse-portalpack.dev.java.net/files/documents/6568/51761/com.sun.server.os.portlet.container_1.0.0.jar
2.安装eclipse-portalpack:
将下载的两个JAR包直接拷贝到eclipse\plugins目录下即可
3.运行eclipse,创建Portlet项目:
eclipse启动后,选择new->other->JSR 168 Portlet Porject Creator->JSR 168 Portlet Porject Creator,如下图所示:
点击"Next",在随后的界面中输入"Porject Name"为HelloWorld,再点击Finish即完成Portlet项目的创建。项目的结构如下图所示:
4.创建Portlet Class:
建好了Portlet Porject后,就可以创建具体的Portlet了,插件已经生成了三个基本的JSP文件:view.jsp、edit.jsp、help.jsp,因此本示例中可以不用新建JSP文件,直接创建portlet class即可,创建的方法如下:
在eclipse左边的目录数下,选中src/java点右建建立一个新的包,取名为com.portlet.test,然后再选中这个包,点右建选择new->other->JSR 168 Portlet Porject Creator->JSR 168 Portlet,再点Next,在随后的界面中输入"Name"为HelloWorldPortlet,"Super Class"选择javax.portlet.GenericPortlet,"Portlet Modes"选项中,将"View","Edit","Help"均打勾,如下图所示:
点击"finish"即完成了Portlet Class的创建。
5.编辑Portlet Class:
在我进行调试的时候,发现插件生成的代码,不能直接在JBoss Portal中运行,可能是各个应用服务器对路径的识别有点差异,需要对几个路径进行更改:
在HelloWorldPortlet.java中找到
Java代码 复制代码
1. PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/view.jsp");
2. PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/edit.jsp");
3. PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/help.jsp");
PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/view.jsp");
PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/edit.jsp");
PortletRequestDispatcher dispatcher = context.getRequestDispatcher("WEB-INF/jsps/help.jsp");
将其中的
Java代码 复制代码
1. WEB-INF/jsps
WEB-INF/jsps
更改为:
Java代码 复制代码
1. /WEB-INF/jsps
/WEB-INF/jsps
即可。
6.编辑Portlet.xml文件:
遗憾的是这个插件不能自动生成Portlet的相关配置,必须手工添加。
在WEB-INF文件夹中找到Portlet.xml文件中,加入以下的配置:
Java代码 复制代码
1. <portlet>
2. <portlet-name>HelloWorldJSPPortlet</portlet-name>
3. <portlet-class>com.portlet.test.HelloWorldPortlet</portlet-class>
4. <supports>
5. <mime-type>text/html</mime-type>
6. <portlet-mode>VIEW</portlet-mode>
7. <portlet-mode>EDIT</portlet-mode>
8. <portlet-mode>HELP</portlet-mode>
9. </supports>
10. <portlet-info>
11. <title>HelloWorld JSP Portlet</title>
12. </portlet-info>
13. </portlet>
<portlet>
<portlet-name>HelloWorldJSPPortlet</portlet-name>
<portlet-class>com.portlet.test.HelloWorldPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-mode>EDIT</portlet-mode>
<portlet-mode>HELP</portlet-mode>
</supports>
<portlet-info>
<title>HelloWorld JSP Portlet</title>
</portlet-info>
</portlet>
7.生成Portlet WAR包:
这一步最简单,在eclipse左边的目录树中,找到build.xml文件,点右键,选择run As->Ant build,即可在当前的工作区中生成HelloWorld.war文件,将此war包直接拷到
jboss\server\default\deploy目录下,即可自动部署,部署完成后需要用管理员身份创建此portlet的实例,并发布到页面中,有关此部分内容,可参考JBoss的相关文档。
* 1ebec6d4-2c3a-3e91-91fc-b9a2da4ab5d7-thumb
* 描述:
* 大小: 18.1 KB
* 714bdf9e-7b3a-3e59-9c67-5e6f9edac63f-thumb
* 描述:
* 大小: 47.6 KB
* Dce14057-709a-3317-a3b3-ff6e62bbd362-thumb
* 描述:
* 大小: 42.5 KB