Making URLs Friendly

如果你已经部署了一个Guestbook Portlet ,并且在页面上有一个add 按钮,点击这个add 按钮 ,

产生的超链接如下:

http://localhost:8080/web/guest/home?p_p_id=guestbook_WAR_guestbookportlet&p_p_lifecycle=0&
p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=1&p_p_col_count=3
&_guestbook_WAR_guestbookportlet_mvcPath=%2Fhtml%2Fguestbook%2Fedit_guestbook.jsp

当你做了URL friendly之后,点击add 按钮,将会产生如下形式的链接:


http://localhost:8080/web/guest/home/-/guestbook/add_guestbook
这样是不是更友好一点,想要做到这种可读性比较高的链接,请遵循下面两步:

1.创建一个Friendly URL routes的xml格式的文件.

2.在liferay-portlet.xml文件中,添加三行代码.


一,定义Friendly URL routes

1. Create com/liferay/docs/guestbook/portlet/guestbook-friendly-url-routes.xml.标准的方式是把这个文件放在和你的portlet同一个包下面.

2.Add this code to the file:

<?xml version="1.0"?>
<!DOCTYPE routes PUBLIC "-//Liferay//DTD Friendly URL Routes 6.2.0//EN"
"http://www.liferay.com/dtd/liferay-friendly-url-routes_6_2_0.dtd">

<routes>
    <route>
        <pattern>/add_entry</pattern>
<pre id="yui_patched_v3_11_0_1_1432125207462_412"><code id="yui_patched_v3_11_0_1_1432125207462_421">        <implicit-parameter name="p_p_lifecycle">0</implicit-parameter></code>
  <implicit-parameter name="mvcPath">/html/guestbook/edit_entry.jsp</implicit-parameter> </route> <route> <pattern>/{entryName}/view_entry</pattern> <implicit-parameter name="mvcPath">/html/guestbook/view_entry.jsp</implicit-parameter> </route></routes>

 在这个文件中,有两个标签是我们要注意的: 

1. The pattern tag

这个标签是用来定义占位符的,它是用来占位我们产生的URL中各个参数的值,简单来说,它就是用来放一些你URL中的一些参数,促使你的URL更具有可读性。

2.The implicit-parameter tag

定义一些不需要产生的参数值,因为它在所有的URL中都是一样的


二,声明friendly URL mapping 给 portlet

在这个文件docroot/WEB-INF/liferay-portlet.xml里面添加:

  <friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
  <friendly-url-mapping>guestbook</friendly-url-mapping>
  <friendly-url-routes>com/liferay/docs/guestbook/portlet/guestbook-friendly-url-routes.xml</friendly-url-routes>


测试如下:


当我们点击Add Entry的时候,请注意地址:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值