2.4 RssPortlet
Rss Portlet是读取RSS站点内容的通用Portlet。此Portlet的使用请参考用户使用文档。需要注意的是,此Portlet在使用过程中可能会遇到浏览器的权限问题,这个问题可通过配置后台代理解决。具体方式是在ierp/portal/system.properties中设置portal.rss.mode=1。如果需要代理,可设置 #http proxy
portal.proxy.host= #http proxy port portal.proxy.port= #http proxy user
portal.proxy.username= #http proxy password portal.proxy.password= #http proxy domain portal.proxy.domain=
2.5 Company Notice Portlet
公司通知portlet是显示发布公告的通用Portlet。
在portlet管理中该Portlet可以配置的个性化信息如下:
1. itemCount:默认显示的通知条数,管理员设置此属性将影响所有的用户的显示条数 2. pageHeight:该portlet的高度,整数(单位像素)。
2.6 Company Doc Portlet
公司发文portlet是显示公司发文的通用portlet。
在公司发文portlet中该portlet可以配置的个性化信息如下:
1.ItemCount:默认显示的发文条数,管理员设置此属性将影响所有的用户的显示条数 3. pageHeight:该portlet的高度,整数(单位像素)。
3. Portlet的开发实例
一个Portlet的开发,通常来说要走下面几步:
(1) 按照规范实现javax.portlet.Portlet接口。
(2) 编写相关的页面文件(任何Portal容器支持的视图技术)。 (3) 在配置文件portlet.xml中配置此Portlet。
如果Portlet相对较复杂,可能还会选择不同的持久化技术(Hibernate,ibatis,jdo等),以及不同的mvc框架和视图框架的组合(sprint,struts,jsf,tapestry等)。
NC Portal针对基于JSP,JSF和基于spring mvc技术的Portlet开发实现了一套基类。大多数情况下无需重新实现Portlet接口,只需进行相关的流程类的编写即可。在整个
第 14 页
Portlet的编写过程中,我们推荐的组合是NC JdbcFramework (持久层)+NC IOC + spring mvc + jsp技术(请参阅相应的文档)。通过我们的开发环境以及NC Portal的内置支持,这种看似复杂的组合实现起来就比较简单了。
NC Portal为多种模版技术的Portlet开发提供了内置支持,并抽象出了相应的基类。大大简化了Portlet的开发难度。下面以几个简单的Portlet作为样例:
3.1 基于JSP视图技术的 Portlet的开发
JSP Portlet适用于业务流程简单,只作简单展现的Portlet。以一个具有view和edit状态的简单Portlet为例。 我们可以直接采用NC Portal提供的JspPortlet作为Portlet接口的实现类。针对各种状态,我们需要写出相应的JSP页。首先建立视图状态下的jsp页面,helloworldview.jsp,内容如下:
<%@ include file=\
其中<%@ include file=\为NC Portal提供的常用Tag和类引用的定义,推荐使用。
1.此portlet部分内容只是一内容片段。不能包含
等信息。 2.推荐以包裹整个内容片段。这样可更清晰的区分整个Portlet内容的结构。 3.虽然基于jsp技术,但Portlet内容体不推荐使用request,response和session等区域变量。应代之以renderRequest, renderResponse,portletSession等在4.页面允许script语法。但是推荐放置于
之外,如下面同理,建立一个helloworldedit.jsp,内容如下 <%@ include file=\
第 15 页
这样就完成了Portlet两个状态页的定义。下面需要在Portlet的定义文件WEB-INF/conf/portlet.xml中配置此Portle。
在WEB-INF\\conf\\portlet.xml中,我们添加HelloworldPortlet的定义,此Portlet的 定义文件由JSR168规范定义
定义完毕Portlet,我们还需要在Portlet的分类定义文件中定义此Portlet。在WEB-INF/conf/display.xml中,在某一个category下,加上一条: 到此,Portlet的开发与定义完成。重启服务器。打开Portal页面,可以在个人设置或者Portal管理->布局管理中添加此Portlet。 3.2 基于Spring MVC框架的Portlet开发 Spring mvc框架小巧,灵活,稳定,不会像其它MVC框架一样将流程绑的太死,这也是笔者推荐它的主要原因。关于Spring MVC的使用,请参考Spring相关技术文档。当然,在NC Portal中使用其它框架也是允许的。此处仅介绍spring mvc在NC Portal中的配置与应该注意的地方。 NC Portal针对Spring MVC提供了ActionPortlet的实现。与JspPortlet相似,基于此Portlet的开发仅需要开发相应的页面流程即可。下面以自定义链接Portlet作为样例,具体需求是这样的: 用户可在编辑模式下增加自己需要的链接地址,在视图模式下按照列表形式显示所 有链接。 我们按照下面的次序完成此Portlet: a.建表并编写对应VO类 create table pub_mylink (pk_mylink char(20) primary key, name varchar(20) not null, url varchar(100) not null) 对应MylinkVO.java package nc.portlet.mylinks; import nc.jdbc.framework.orm.IPersistenceObject; import nc.vo.pub.portal.base.ValueObject; public class MylinkVO implements ValueObject, IPersistenceObject{ private String pk_mylink; private String name; private String url; public String getPrimaryKey() { return \; } public String getTableName() { return \; } public String getName() { 第 17 页
相关推荐: