像
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