码迷,mamicode.com
首页 > Web开发 > 详细

【Liferay6.2】renderURL和actionURL的区别

时间:2015-02-26 01:20:32      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

在liferay开发中,<portlet:renderURL/>和<portlet:actionURL/>是我们经常用到的两个portlet标签。

我们通过常用的使用方法来说明他们之间区别。

<portlet:renderURL/>使用示例

首先我们会在页面中定义一个portlet:renderURL,变量名为viewUrl。

<portlet:renderURL var=”viewUrl”>
  <portlet:param name=”id” value=”123″/>
</portlet:actionURL>

该段代码的作用其实是自动生成包含id参数的一段URL:

http://localhost:8080/group/demo/demo?p_p_id=demo_WAR_demoportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_demo_WAR_demoportlet_id=123

然后通过链接的方式引用renderURL,例如:

<a href=”<%=viewUrl %>”>查看</a>

点击该链接,在页面或者后台doView方法中,我们就可以通过以下方法获得参数id的值:

long id= ParamUtil.getLong(request, “id”);

<portlet:actionURL/>使用示例

<portlet:actionURL var=”deleteUrl” name=”delete”>
  <portlet:param name=”id” value=”123″/>
</portlet:actionURL>

与<portlet:renderURL/>不同的地方是多个一个name属性,name属性值对应的其实就是portlet后台处理类的action方法名delete。

该段代码的作用也是生成一段包含参数id的Url:

http://localhost:8080/group/demo/demo?p_auth=rjuZ5R0r&p_p_id=demo_WAR_demoportlet&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_demo_WAR_demoportlet_id=123&_demo_WAR_demoportlet_javax.portlet.action=delete

同样也可以通过链接的方式引用它,例如:

<a href=”<%=deleteUrl%>”>删除</a>

点击该链接之后,在portlet类的delete方法中,我们也可以long id= ParamUtil.getLong(request, “id”);方法获得参数id的值,然后删除该数据。

 <portlet:renderURL/>与<portlet:actionURL/>的区别

结合使用示例,我们可以总结出<portlet:renderURL/>与<portlet:actionURL/>的区别有以下几点:

1、<portlet:renderURL/>传递的参数通常在后台doView方法中接收处理;<portlet:actionURL/>有name属性可以调用指定的后台方法,参数也在该类中处理

2、<portlet:renderURL/>通常用于页面之间的调转,例如查看详情;<portlet:actionURL/>通常用于删除、表单提交等业务逻辑的处理操作

【Liferay6.2】renderURL和actionURL的区别

标签:

原文地址:http://www.cnblogs.com/scaleworld/p/4300454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!