博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
liferay中actionURL和renderURL的区别
阅读量:6994 次
发布时间:2019-06-27

本文共 1705 字,大约阅读时间需要 5 分钟。

在Liferay中,actionURL和renderURL在开始使用的时候,总是不知道,该什么使用两个功能。下面介绍一下所理解的使用方法,可能有欠缺之处,见谅。

针对actionURL来说,主要是为了和后台代码交互,即执行相对应的操作,例如:删除操作,提交form表单等等。

 <portlet:actionURL name="deleteFirstlevel" var="deleteURL">

  <portlet:param name="firstlevelId"     value="<%= String.valueOf(firstlevelId) %>" />
  <portlet:param name="redirect"         value="<%= redirect %>"/>
 </portlet:actionURL>

对应的后台代码是:

 public void deleteFirstlevel(ActionRequest request, ActionResponse response)   throws Exception {   

  ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    long groupId = themeDisplay.getScopeGroupId();   

      long firstlevelId = ParamUtil.getLong(request, "firstlevelId");   

      ArrayList<String> errors = new ArrayList<String>();

       if (Validator.isNotNull(firstlevelId)) {    

             FirstlevelLocalServiceUtil.deleteFirstlevel(firstlevelId);    

             SessionMessages.add(request, "firstlevel-deleted");    

              sendRedirect(request, response);   

      }   else {         

            for (String error : errors) {

                   SessionErrors.add(request, error);         

    }   

  }  

}

在使用actionURL的时候,为了和后台交互,一定要在<portlet:actionURL name="deleteFirstlevel" var="deleteURL">中的name名称和后台的方法名相对应,在此例子中,均为“deleteFirstlevel”。

针对renderURL来说,个人目前所理解的程度是,为了页面之间的跳转或者刷新,跟actionURL最大的区别在于,其不与后台进行交互,只是页面相互之间的交互。

               <portlet:renderURL var="addChildlevelURL">

               <portlet:param name="mvcPath" value="/html/config/edit_childlevel.jsp" />
               <portlet:param name="redirect" value="<%= redirect %>" />
               </portlet:renderURL>               
               <aui:button value="Add Category" onClick="<%= addChildlevelURL.toString() %>"/>  

在上面的代码中,通过Add Category 按钮,当点击的时候,页面会跳转到对应的增加(编辑)信息页面。

在使用<portlet:***>的时候,需要在前台代码中先声明<portlet:defineObjects/>。

以上只是目前所理解的程度,更详细的功能使用,后续再进行更新。另外大家可以参考Liferay官方的文档

 

转载于:https://www.cnblogs.com/zhiliang/archive/2013/02/08/2909174.html

你可能感兴趣的文章
在透视表中定义公式
查看>>
我的友情链接
查看>>
close_wait状态的产生原因及解决(1)
查看>>
堆(heap)
查看>>
Windows Server 2016-图形化之客户端加域(一)
查看>>
Silverlight 版 C1OutlookBar 初体验
查看>>
使用Visual Studio 2012 开发 Html5 应用
查看>>
通过案例学调优之--Oracle 全文索引
查看>>
Java自带的性能监测工具之jstat
查看>>
HBase Shell 基本操作
查看>>
samba
查看>>
网站制作的注意事项
查看>>
Exchange会议室的应用之Redis内存数据库
查看>>
浅谈分布式并发控制
查看>>
C#高级编程之委托
查看>>
2018.12.7python笔记(3.3-3.5)
查看>>
数据类型之间的运算
查看>>
linux下rar文件的解压
查看>>
Python全栈开发目录
查看>>
Python 程序如何高效地调试?
查看>>