Portlet 类 Portlet 类是一个Portlet 的代码表示,它从PortletAdapter 继承而来。 Portlet instance (portlet实例) Portlet类实例是一个Portlet 类的实例,由PortletConfig 中提供的一系列参数参数化的结果,每一个Portlet类实例中都包括一个PortletConfig 对象,当管理员发布一个新的Portlet 应用程序(war 文件)或服务器重新启动时,都会创建一个新的Portlet 类实例,Portlet 类实例不是Portlet 的具体展现,因此对用户和管理员来说Portlet 类实例是不可见的。 Conrete Portlet (具体portlet) Portal管理员利用管理接口部署一个Portlet应用(WAR文件)或安装一个Portlet的备份。每个动作会创建一个具体Portlet,它是由单一的PortletSettings对象参数化的,对每一个Portlet可能有多个具体Portlet。PortletSettings是是可读/写和持久化的对象,PortletSettings包含Portlet部署描述符中定义的初始化配置参数。 具体Portlet允许一个Portlet实例以不同的参数配置运行,不需要创建格外的Portlet实例。在一个单一的Portlet的生命周期中,许多具体Portlet可以被创建和销毁,没有对象明确的代表具体Portlet。同一个具体Portlet可以被许多用户共享。 Conrete Portlet instance (具体portlet实例) 当一个用户或管理员将具体Portlet置于用户页面上,就创建了一个具体Portlet实例,这个实例是由一个单一的PortletData对象参数化的具体Portlet,一个具体Portlet可能具有多个具体Portlet实例,PortletData为一个具体Portlet 类实例存储持久化信息;PortletData的范围依赖于具体Portlet所在页面的范围:如果一个管理员将一个具体Portlet置于组页面中,那么PortletData对象包含为用户组存储的数据;如果一个具体的Portlet置于用户的页面中,PortletData对象包含为这个用户存储的数据。 当一个用户访问包含具体Portlet的页面,这个具体Portlet创建一个基于该用户的具体Portlet实例。当一个用户登录到Portal时,Portal服务器为每个用户的Portlet创建一个PortletSession。被PortletSession参数化的一个具体Portlet实例将被看成是一个用户的Portlet实例。每一个具体Portlet实例可能有多个用户Portlet实例。一个用户Portlet实例是一个PortletSession参数化的具体Portlet实例, PortletSession保存和单一用户Portlet实例的使用相关的临时信息。 PortletConfig portletConfig对象提供初始化时用的信息,包装了javax.servlet.ServletConfig,仅仅在CONFIGURE模式是,才能访问配置数据。 getContext : PortletContext 返回 PortletContext 对象 getName : String 返回portlet的名称 getGroupName : String 返回group名称 supports(Portlet.Mode mode) : boolean 假如portlet支持提供的模式,返回真,否则返回假. supports(PortletWindow.State state) : boolean 假如portlet支持提供的窗口状态,返回真,否则返回假. PortletContext portletContext定义了运行在其中的portlet的视图。使用portletContext对象,portlet能记下事件日志,获得portlet程序的资源,以及设置储存其他portlet和servlets能访问的属性。每个portlet都有一个portletContext的实例部署在容器中。通过portletContext接口,就可以访问上下文初始参数,找回和存贮上下文属性,获得静态的资源和包含servlerts、jsp的请求分发器 getContainerInfo : String 返回Spirit portlet容器的信息 getPortletLog : PortletLog 返回一个logger getMinorVersion : int 得到Spirit的次版本 getMajorVersion : int 得到Spirit的主版本 getService(Class service) : PortletService 返回一个portlet服务的实例 getText(String bundle, String key, Locale locale) : String 返回一个本地化的文本 include(String path, PortletRequest request, PortletResponse response) Include一个资源,如JSP文件 PortletRequest PortletRequest 包装了javax.servlet.http.HttpServletRequest对象。封装了客户端请求的所有信息,参数,请求内容数据,portlet模式,窗口状态等。 getClient : Client 返回一个客户端,客户端可能是IE浏览器、PDA等 getData : PortletData 返回用户的持久化的数据。 getGroup : PortletGroup 返回Group。 setMode(Portlet.Mode mode) 设置portlet显示的模式。如Portlet.Mode.CONFIGURE, Portlet.Mode.VIEW getMode : Portlet.Mode 返回portlet正在运行的模式,如 Portlet.Mode.CONFIGURE, Portlet.Mode.VIEW getPreviousMode : Portlet.Mode 返回portlet前一个模式。Portlet.Mode.CONFIGURE, Portlet.Mode.VIEW 。 不存在的化返回Portlet.Mode.VIEW getPortletSession : PortletSession 返回用户的portlet session getPortletSettings :PortletSettings 返回portlet settings。 getRole : PortletRole 返回用户的角色。如 PortletRole.GUEST, PortletRole.USER, PortletRole.ADMIN, PortletRole.SUPER, getUser : User 返回用户对象。 getWindow : PortletWindow 返回portlet window PortletResponse PortletResponse 包装了javax.servlet.http.HttpServletResponse, createURI : PortletURI 返回portlet URI createURI(PortletWindow.State state) : PortletURI 返回portlet URI PortletSession PortletSession包装了javax.servlet.http.HttpSession对象,未增加新的方法。 PortletSettings PortletData