使用Netbeans创建、部署和测试Portlets

http://www.sina.com.cn 2008年06月27日 01:32  《程序员》

  Portal是一个包含很多自定义的、可定制网页的Web应用。一个Portal应用里面包含有多个Portlets,而Porlets是一些web组件,可以嵌入到Portal应用里面。在上一篇文章《SOA概念的一些个人见解》中,我提到过SOA的服务包含表示层服务,这些Portlets可以看作是表示层的服务。下图是一个Portal的应用的例子:

  在这个网站中,我们可以看到,整个网站又多个小窗口组成,这些窗口可以最小化,最大化和关闭,这些小窗口就是一个个的Portlets。Portlets和Servelet一样,需要一个容器来管理,Servelet需要一个WEB容器来管理,而Portlets则需要用一个Portal容器来进行管理。在这篇文章里,我将介绍如何在Netbeans里创建和管理Portlets。

  软件需求:

  1、JDK1.6以上版本

  2、OpenPortal Portlet Container 2.0 beta

  2、Netbeans 6.0以上版本(我使用的是Netbeans 6.1),并安装这些插件:jMaki Ajax Support,OpenPortal Portlet Container, Generic Portlet。

  实验步骤:

  1、把Portal容器配置到glassfish中:下载OpenPortal Portlet Container 2.0 beta,下载的文件是一个jar包,把该jar包的路径拷贝到命令行中,用java -jar portlet-container-configurator.jar命令执行安装,并选择glassfish的安装路径,如下图所示:

  点击OK即可进入下一步。

  2、配置Portal服务器:打开"Service"窗口,右键单击"server"-"Add Server",在弹出的窗口中选择"OpenPortal Portlet Container 2",点击下一步,这一步要选择WEB容器,默认是GlassFish Server,在GlassFish Home中把路径指向glassfish的安装目录即可,如:C:\Program Files\glassfish-v2ur2。另外还需要输入admin的口令,默认是adminadmin。点击下一步并完成即可配置好。

  3、新建一个web工程:File - New - Web - Web Application,命名为MyPortlet,点击下一步,其中Server选择"OpenPortal Portlet Container 2.0",点击下一步,选择框架时,必须把Portlet Support及jMaki Ajax Framework选中,在选中Portlet Support时,注意要把"Create Portlet"选中,并把Portlet Class Name和Portlet Name都改为MyPortlet,注意,这两个名称必须一致,如下图所示:

  选中jMaki时,把CSS Style选为No CSS Style,如下图所示:

  4、工程建立完毕以后,我们展开WEB-INF文件夹,可以看到以下结构:

  在一个Portlet里面,我们不再需要index.jsp,因此可以先把index.jsp删除。Portlet的视图是在WEB-INF下的jsp目录下的MyPortlet_view.jsp。Netbeans IDE为我们生成了一个非常重要的源文件,那就是源包中的com.test.MyPortlet.java。这个java文件相当于Portlet的一个控制器,它继承了GenericPortlet这个基类,doView,doEdit,doHelp方法分别会被GenericPortlet里的render()方法调用,为Portlet指定视图、编辑页面及帮助页面。

  5、右键单击项目的"Build",生成项目并运行,你可以看到如下的页面:

  由于MyPortlet_view.jsp中只有一句:MyPortlet - VIEW MODE,因此,我们看到窗口中只有一句话:MyPortlet - VIEW MODE。注意MyPortlet窗口右上角的那些按钮,都是可以使用的,大家可以尝试点按一下它们,体验一下Portlet的含义。

  6、下面我们来为该Portlet添加一些动态和静态的内容,包括RSS订阅的功能。

  首先,打开WEB-INF/jsp/MyPortlet_view.jsp,我们来在主视图中添加一个多页选项卡:

  把MyPortlet - VIEW MODE这行去掉,在组件面板中拖一个Yahoo的ViewTab到jsp代码中,在jsp代码中生成了以下代码:

  value="{items:[

  {label : 'My Tab', content : 'Some Content'},

  {id : 'bar', label : 'My Tab 2', include : 'test.jsp ', lazyLoad : true },

  {label : 'My Tab 3', content : 'More Content', selected : true}

  ]

  }"

  点击项目的右键,选择Undeploy and deploy,再运行一下项目,你可以看到以下的页面:

  点击MyTab2时,得到一个消息"Unable to load URL test.jsp .",那是因为MyTab2指向一个jsp文件,而我们并没有创建这个文件。将MyPortlets_view.jsp的那段Widget的代码用以下的替换:

  现在,我们来创建3个jsp文件。点击Web Pages的右键,注意,是Web Pages的右键,而不是WEB-INF/jsp的右键,因为我们现在不是要创建Portlet的视图,而是在Portlet中引用其他的页面,注意到上面这段代码中,Tab里面的URL的上下文都是MyPortlet。分别创建download.jsp,fundamentals.jsp和whatsnew.jsp三个jsp文件。

上一页 1 2 下一页
本文导航:
·软件需求
·创建JSP页面

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash