`
j2ee_zhongqi
  • 浏览: 206898 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ActionRequest,RenderRequest,HttpServletRequest

阅读更多
    由于每个页面中,每个Portlet 的运行都相对比较独立,因此,为了实现Porlet 的异步功能,有必要在Request 内区分每个Portlet 的信息。因此,针对Portlet 区分出了两类Request,ActionRequest 和RenderRequest。

ActionRequest 来源:javax.portlet.ActionRequest
ActionRequest 是Portlet 的标准接口,主要标识在页面中单个Portlet 的请求。其作为从Web 客户端到服务端的信息载体。其中的内容为单个Portlet 中的内容。
Liferay实现为:com.liferay.portlet.ActionRequestImpl



RenderRequest 来源:javax.portlet.RenderRequest
RenderRequest 也是Portlet 的标准接口。可用于Portlet 之间的数据共享。只有RenderRequest 能够在服务端容器当中转发请求。
Liferay实现为:com.liferay.portlet.RenderRequestImpl



HttpServletRequest
来源:javax.servlet.http.HttpServletRequest
这个就不用说了,该类的实例是整个页面请求的信息载体。所有Portlet 的信息都打包在这里,可以视作是包涵了众多Portlet 的一个航母。猜想应该是所有Portlet 的ActionRequest 打包后放入HttpServletRequest 内。当单个Portlet 交互时仅仅只从中对应的 ActionRequest 取出数据来用。

根据JSR 168 的定义Portlet 的实现如下:

public class MyPortlet extends GenericPortlet
{
         public void doView( RenderRequest request, RenderResponse response )
         throws PortletException, IOException
   {
                //自己的处理代码
   }

   public void doEdit( RenderRequest request, RenderResponse response )
   throws PortletException, IOException
   {
                //自己的处理代码
   }

  public void render( RenderRequest request, RenderResponse response )
   throws PortletException, IOException
        {
                //自己的处理代码
   }

   public void processAction( ActionRequest request, ActionResponse response )
   throws PortletException, IOException
   {
                //自己的处理代码
   }
}

        Portlet 中有两种请求方式:actionRequest 和renderRequest 。当portlet容器接收到一个actionRequest  请求的时候,如果请求后的Portlet 模式为view,那么Portlet 容器先调用Portlet 的processAction 方法,然后调用 portlet 的Render 方法去执行portlet 的doView() 方法;如果请求后的Portlet模 式为edit ,则最后去调用doEdit ()方法。当Portlet 容器接收到一个renderRequest 请求的时候,它将不会调用processAction 方法,Portlet 容器直接调用Render 方法以执行对应的view 模式对应的doView() 方法或是edit 模式对应的doEdit() 方法。
分享到:
评论

相关推荐

    portal jsr168

    Portlet中的Request对象分为ActionRequest和RenderRequest两种,它们分别对应着portlet的不同处理阶段。 - **ActionRequest**:当用户触发portlet的特定操作,例如点击一个按钮或者提交表单时,Portal服务器会向...

    基于PHPWIND插件的体会及编写思路.pdf

    1. **请求处理方式的不同**:与Spring框架中的`HttpServletRequest`相比,Portlet使用其自定义的`ActionRequest`和`RenderRequest`。`ActionRequest`主要用于处理用户提交的表单数据,而`RenderRequest`则用于渲染...

    SPRINGMVCDEMO

    在Spring MVC中,我们可以使用Portlet MVC API来创建portlet,这包括PortletMode、WindowState、ActionRequest、RenderRequest和RenderResponse等接口。 "demo" 文件可能包含了这个Spring MVC Portlet的源代码,...

    liferay跨组件间通信实例

    7. **Portlet间通信(Portlet-to-Portlet Communication, PTC)**:Liferay支持portlet之间的直接通信,如通过ActionRequest或RenderRequest发送消息。`test-portlet`可以使用portlet action URL或render URL来与另...

    struts-portlet

    1. **PortletActionServlet**:替代了ActionServlet,处理portlet的RenderRequest和ActionRequest。 2. **PortletActionMapping**:将portlet请求映射到相应的PortletAction。 3. **PortletActionForm**:继承自...

    Portlet规范之Pluto实现的运用

    `PortletRequest`接口定义了一系列通用功能,并被`ActionRequest`、`RenderRequest`、`ResourceRequest`和`EventRequest`四个子接口所继承。`PortletRequest`封装了所有与客户端请求相关的信息,如参数、请求内容、...

    Portlet实例代码

    3. **渲染和动作请求**:Portlet有两种主要类型的请求,渲染请求(RenderRequest/RenderResponse)用于生成HTML内容,动作请求(ActionRequest/ActionResponse)处理用户提交的动作事件,如按钮点击。 4. **Portlet...

    portlet规范介绍

    - Portlet有预定义的请求类型,如ActionRequest和RenderRequest。 - Portlet支持默认的模式和窗口状态,以指示当前执行的功能和状态。 - 在同一门户页面中可以同时存在多个Portlet。 3. **Portlet的附加功能** ...

    基于 Struts 2 构建 WebSphere Portal 上的 Portlet 应用

    在 WebSphere Portal 中开发 Portlet,首先需要了解 Portlet API,包括 Portlet、ActionRequest、ActionResponse、RenderRequest 和 RenderResponse 等接口。Portlet 生命周期包括初始化、渲染、动作处理和销毁四个...

    portal 开发指南

    Portlet通过处理不同的请求类型(如RenderRequest、ActionRequest等)来响应用户的操作。 #### 六、PortletConfig ##### 6.1 初始化参数 PortletConfig提供了对Portlet配置信息的访问,包括初始化参数等。 #####...

    portlet开发资料.rar

    - 通过`ActionRequest`和`ActionResponse`处理动作请求,例如提交表单。 - 通过`RenderRequest`和`RenderResponse`处理渲染请求,生成最终显示的HTML。 - 使用`ResourceRequest`和`ResourceResponse`处理资源请求...

    蚊子总结的portlet的开发

    - ActionRequest/ActionResponse:处理用户提交的动作,例如按钮点击。 - RenderRequest/RenderResponse:生成最终的HTML响应。 - ResourceRequest/ResourceResponse:处理异步请求,提供更快的响应时间。 6. **...

    JSR168_Portlet开发入门

    6. `ActionRequest`和`ActionResponse`:处理用户的动作请求,如提交表单或触发某些操作。 7. `EventRequest`和`EventResponse`:用于portlet间的事件通信。 三、Portlet开发流程 1. 创建portlet类,实现`Portlet...

    JSR168+PORLET标准手册

    7. **Action请求和Event处理**:portlet可以通过动作请求(ActionRequest)来处理用户交互,或者通过事件处理(EventProcessing)来实现portlet间的通信。 **Portlet的特性** 1. **可重用性**:portlet可以在多个...

    liferay-6.2-sdk

    Portlet需要实现`Portlet`接口,并处理`ActionRequest`和`RenderRequest`,以及相应的响应。 **4. 主题开发** Liferay 6.2 支持自定义主题,允许开发者根据品牌需求改变门户的外观。通过`ant create-theme`命令,你...

    portlet入门介绍

    1. 请求处理:当用户与portlet交互时,例如点击portlet内的按钮,portlet会收到一个ActionRequest。portlet根据这个请求执行相应的业务逻辑,并返回一个ActionResponse,其中可能包含新的视图状态信息。 2. 视图...

    IBM portlet开发指南

    Portlet Requests和Portlet Response是Portlet处理HTTP请求和生成响应的对象,它们具有多种类型,如ActionRequest、RenderRequest、ActionResponse、RenderResponse等,各自负责不同类型的请求和响应处理。...

    portlet学习资料

    3. **portlet请求和响应**:portlet通过处理两种类型的请求——RenderRequest和ActionRequest,来呈现内容或执行业务逻辑。 4. **portlet配置**:portlet的配置信息存储在portlet.xml文件中,定义portlet的元数据和...

Global site tag (gtag.js) - Google Analytics