Liferay中request

  在liferay中的请求分为renderRequest和actionRequest这两种请求的方式,portletRequest的子类有三个1renderRequest,2EventRequest3ClientDataRequest。是不是没有actionRequest?,不是的actionRequest继承的是ClientDataRequest这个接口。

    ActionRequest的作用域是portlet在动作处理阶段,在这个阶段,portlet不知道自己要显示什么,也不知道要怎么显示。

    RenderRequest的作用域是portlet的渲染阶段。在这个阶段portlet知道自己要显示什么,该怎么显示。

    所以RenderRequest主要负责显示,ActionRequest主要负责处理数据。

  在liferay怎么使用这两个东西啊,当我们在界面上使用<portlet:renderURL>和<defineObjects>调用的后台的方法是doView或者是doEdit方法。如果我们在界面上使用的标签是<portlet:actionURL>这个标签后台调用的方法是processAction方法,或者我们也可以自己在这个地方写自己的方法名,调用自己写的方法名就行了。

  什么时候使用<portlet:renderURL>这个啊?跟ActionURL这个路径啊?

首先举一个例子,比如现在有一个学生信息管理系统。这个主界面上有增加,查新,修改,删除,点击查询的时候我们需要把数据还显示到这个页面上,这个时候我们就需要用<portlet:renderURL>,在后台的doView方法中获取你要得到的学生的Id,然后查出来数据就行了。

当你点击添加的时候,你需要跳转到一个新的界面的时候,你需要用actionURL这个路径,这个路径对应这个后台你自己写的方法,或者是默认的processAction这个方法。在新的页面上执行表单提交的操作的时候使用actionURL。

  未完待续。。。。。

时间: 2024-08-11 19:09:41

Liferay中request的相关文章

liferay中如何获取实例的id和portletId

在Portlet中request分为两种renderRequet和actionRequest而portlet需要取得实例Id的时候都在renderRequest的时候才可以取到,如下例子 PortletPreferences preferences = renderRequest.getPreferences(); String portletResource = ParamUtil.getString(request, "portletResource"); if (Validato

关于jsp中request请求乱码问题

其实在写web项目的时候最怕的就是出现乱码,有时候很微小的错误可能要找很久,伤神费力.这就要求我们在编程的时候尽量要规范严谨.废话不多说,今天在写jsp的时候又出现了乱码.四处求解,在书上最后找到了答案.在提交表单的时候,如果是中文表单,难免要出现字符集不匹配出现的乱码,这时就要对这个进行编码设置.对于jsp中request这个内置对象,设置编码是这样的:<%requset.setCharactorEncoding("utf-8");%>,其实书上使用的是gb2312这个编

liferay中如何实现自己定义的方法

大家看到这篇文章是不是很开心啊,我感觉是很开心,我们终于可以按照自己的意愿来写一次代码,在liferay中一些基本的增删改查的代码是自动生成的,然而我们想要实现自己的方法的话,恐怕要费一点劲,你要知道每一项技术都是有研究的必要跟学习的,不要总感觉自动生成的东西没有什么好研究的,其实不然,你想过这个问题没有,这个框架为什么可以自动生成这些方法,这就是技术,只要你愿意去想,你就会有收获.好了废话了这么多.下面开始我们今天主要讲解如何实现自己定义的方法. 1:首先需要在service这个包的下面的pe

asp.net中Request.QueryString与Request.Param的区别分析

看起来Request.Params更好一些,但是既然Param包括了所有,为什么还要有QueryString呢?? request.params其实是一个集合,它依次包括request.querystring.request.form.request.cookies和request.servervariables. 如果要在两个页面传递数据的话,只能用request.querystring.request.form.request.cookies Request.Params 是在 QueryS

ajax传JSON时设置的contenttype导致JAVA中request.getParameter(&quot;&quot;)怎么也接收不到数据

ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是application/json或者text/json时,JAVA中request.getParameter("")是接收不到数据的. 因为在java后台会认为你传递的是一个纯文本流,而非键值对,是不能存入requestMap的. 可以把流读取出来转成json转成lsit或对象等,在Spring中使用@R

解决SpringMVC拦截器中Request数据只能读取一次的问题

解决SpringMVC拦截器中Request数据只能读取一次的问题 开发项目中,经常会直接在request中取数据,如Json数据,也经常用到@RequestBody注解,也可以直接通过request.getParameter()从Request中取数据. 但是有时候我们要在请求到具体的业务之前做一些操作比如日志记录.数据校验.统一的处理等等,可以在拦截器中处理. 由于 request中getReader()和getInputStream()只能调用一次,我们在拦截器中获取Request中数据后

Filter中request对象强转问题

以下为过滤器doFIlter方法的源代码: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletRespons

Java中request请求之 - 带文件上传的form表单

常用系统开发中总免不了显示图片,保存一些文件资料等操作. 这些操作的背后,就是程序员最熟悉的 enctype="multipart/form-data"类型的表单. 说起file类型的input,我们往往会遇到问题: 最为常见的就是编码格式-中文乱码.解决中文乱码最好的方式就是我们的项目全部使用 utf-8 格式的国际编码,因为它是可变字节长度的编码,对于占用2字节的中文绰绰有余了.另外就是使用 String s2 = new String(s1.getBytes(“ISO-8859-

jsp中request接收中文参数乱码问题解决办法

在利用表单提交数据时发现,获得的中文参数会发生乱码,解决方法如下: <body> <% String s=request.getParameter("uname"); s = new String(s.getBytes("ISO-8859-1"),"utf-8");//解决乱码问题 %> <%=s %> </body> s = new String(s.getBytes("ISO-8859