posts - 431,  comments - 344,  trackbacks - 0

Servlet 一样,编写的 Portlet 也必须直接或者间接的扩展基类 GenericPortlet ,这个是由 JCP 针对 Portal 提出的 JSR168 规范定义的。只要扩展自规范的 GenericPortlet ,所有的 Portlet 都可以在支持 JSR168 规范的 Portal 服务器上运行。

GenericPortlet 统一定义了可供 Portal 容器识别和调用的方法,包括:

public Init() :初始化;

public Init(PortletConfig) :初始化;

public getInitParameter(String) :取得在 Portlet.xml 中定义的初始化参数;

public getInitParameterNames() :取得在 Portlet.xml 中定义的全部初始化参数;

public getPortletConfig() :取得包含初始化参数的配置对象 PortletConfig 实例;

public getPortletContext() :取得 Portlet 上下文;

public getPortletName() :取得在 Portlet.xml 中定义的 Portlet 名称。

public getResourceBundle(Locale) :取得 Portlet 国际化的 Resource Bundle

protected getTitle(RenderRequest) :取得 Portlet 的标题;

protected doView(RenderRequest RenderResponse) Portlet 浏览模式的处理方法;

protected doEdit(RenderRequest RenderResponse) Portlet 编辑模式的处理方法;

protected doHelp(RenderRequest RenderResponse) Portlet 帮助模式的处理方法;

protected doDispatch(RenderRequest RenderResponse) Portlet 行为分发;

protected processAction(ActionRequest ActionResponse) Portlet 处理 Action Request 的方法;

protected render(RenderRequest RenderResponse) Portal 处理 Render Request 的方法;

public destroy() Portlet 销毁,终止其生命周期。

Portlet Portal 运行的时候, doView doEdit doHelp 三个方法分别被调用,用以生成 Portlet 标记。同样也可以调用 Servlet 生成 Portlet 标记,或者不调用 JSP 或者 Servlet ,直接在方法中得到 PrintWriter 然后用最简单的 pw.println() 打印出内容。这个过程类似 Servlet ,如下:

PrintWriter pw = renderResponse.getWriter();

pw.println(“Hello world!”);

Servlet 类似,可以使用 getInitParamter(String s) 得到配置文件中 Portlet 的初始值,只不过 Servlet web.xml 中,而 Portlet portlet.xml 中。

portlet.xml

       <init-param>
           <name>jspView</name>

           <value> /jsp/view.jsp</value>
       </init-param>


针对如上portlet.xml中的初始化信息,可以采用如下的调用方式:

SimplePortlet.java

String jspName = getPortletConfig().getInitParameter("jspView");

posted on 2007-01-24 11:02 周锐 阅读(1687) 评论(0)  编辑  收藏 所属分类: Portal

只有注册用户登录后才能发表评论。


网站导航: