构建Jboss-Portal Eclipse开发环境

构建JBOSS Portal Eclipse开发环境
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的相关文档。

猜你喜欢

转载自blog.csdn.net/wwzxbot/article/details/5516136
今日推荐