标签:
在liferay开发中,<portlet:renderURL/>和<portlet:actionURL/>是我们经常用到的两个portlet标签。
我们通过常用的使用方法来说明他们之间区别。
首先我们会在页面中定义一个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 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/>的区别有以下几点:
1、<portlet:renderURL/>传递的参数通常在后台doView方法中接收处理;<portlet:actionURL/>有name属性可以调用指定的后台方法,参数也在该类中处理
2、<portlet:renderURL/>通常用于页面之间的调转,例如查看详情;<portlet:actionURL/>通常用于删除、表单提交等业务逻辑的处理操作
【Liferay6.2】renderURL和actionURL的区别
标签:
原文地址:http://www.cnblogs.com/scaleworld/p/4300454.html