Liferay6.1 配置友好的URL映射
说明:以下内容和官方文档相差不大,如果您英文较好,建议直接去读官方文档,地址是:https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-1/adding-friendly-url-mapping-to-the-portlet。如果没有操作成功,再回来看一看,相信您会有所收获。
如果我们要在liferay中跳转到一个jsp界面。我们可能会这样写
<portlet:renderURL var="editGreetingURL">
<portlet:param name="mvcPath" value="XXX" />
</portlet:renderURL>
<a href="<%= editGreetingURL %>">跳转到jsp界面</a>
其中XXX表示我们要跳转的jsp界面的全路径,比如:/html/portlet3/view.jsp。
这个时候它的url路径是类似于这样的:
这样的路径又臭又长,而且也看不懂什么意思,那么能不能把它变得好看一点呢?肯定是能的,可以把它变成类似于下面的形式:
http://localhost:8080/zh/web/guest/what-we-do/-/portlet3/view
接下来我们一起来把它改造一下:
1. 新建一个Portlet,名称为Portlet3
2. 在liferay-portlet.xml文件中找到Portlet3对应的代码,在 </icon>标签后面并且在<instanceable>标签前面加上以下内容:
<friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
<friendly-url-mapping>portlet3</friendly-url-mapping>
<friendly-url-routes>com/liferay/samples/portlet3-url-routes.xml</friendly-url-routes>
3. 新建文件portlet3-url-routes.xml,全路径为: /WEB-INF/src/com/liferay/samples/portlet3-url-routes.xml ,文件内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE routes PUBLIC "-//Liferay//DTD Friendly URL Routes 6.1.0//EN"
"http://www.liferay.com/dtd/liferay-friendly-url-routes_6_1_0.dtd"> <routes>
<route>
<pattern>/{mvcPathName}</pattern>
<generated-parameter name="mvcPath">/html/portlet3/{mvcPathName}.jsp</generated-parameter>
</route>
</routes>
注意:
1)文件的全路径要和第二步中<friendly-url-routes>标签的内容对应。
2)把<generated-parameter>标签的内容替换成您要跳转的jsp页面的全路径。以“/”开头,代表当前项目。
4. 重新部署您的portlet,刷新页面,并再次尝试如下的链接是。
http://localhost:8080/zh/web/guest/what-we-do/-/portlet3/view
http://localhost:8080/zh/web/guest/what-we-do/-/portlet3/edit
效果如下
解析:
- http://localhost:8080/zh/web/guest/what-we-do/-/portlet3/view 中的what-we-do要和当前页面对应(空格可以使用-来代替)。portlet3和liferay-portlet.xml中的<friendly-url-mapping>里面的内容对应。Edit要和jsp文件名称对应。
- portlet3-url-routes.xml中类似于RESTFUL风格。
- liferay对于 http://localhost:8080/zh/web/guest/what-we-do/-/portlet3/view 路径的寻找过程如下:
先是what-we-do找到页面,然后寻找liferay-portlet.xml文件中<friendly-url-mapping>是portlet3的元素,找出对应的<friendly-url-routes>标签的内容:com/liferay/samples/portlet3-url-routes.xml,然后寻找对应的xml文件,在把xml文件中的{ mvcPathName }替换成view,然后去寻找/html/portlet3/view.jsp。找到具体的jsp文件。
Liferay6.1 配置友好的URL映射的更多相关文章
- 2-字符串模拟- URL映射
问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...
- CCF 201803-3 URL映射
CCF 201803-3 URL映射 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django. ...
- 201803-3 URL映射
问题描述 URL 映射是诸如 Django.Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件.对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 ...
- url映射 ccf (Java正则表达式80分解法)
问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...
- 应用springMVC时如果配置URL映射时如下配置
应用springMVC时如果配置URL映射时如下配置 [html] view plaincopy<servlet> <servlet-name>appServlet</s ...
- Django - 将URL映射到视图
URLconf 就像是 Django 所支撑网站的目录.它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表.你就是以这种方式告诉 Django,对于这个 URL 调用这段代码, ...
- ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)
本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC ...
- urlMappings与URL映射
此配置节的作用就是往Web程序中添加URL的映射,从而达到用户访问映射后的URL(如/Page/AAA)也能访问到源URL(如/Page/PageAAA.aspx)的效果.这也是URL映射本来的作用. ...
- django中“url映射规则”和“服务端响应顺序”
1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单. 查看方式: import sys print sys.path ...
随机推荐
- win10 uwp 使用 msbuild 命令行编译 UWP 程序
原文:win10 uwp 使用 msbuild 命令行编译 UWP 程序 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http:// ...
- OpenSSL 使用 base64 编码/解码(liang19890820)
关于 OpenSSL 的介绍及安装请参见:Windows 下编译 OpenSSL 下面主要介绍有关 OpenSSL 使用 base64 编码/解码. 简述 编码解码 更多参考 编码/解码 #inclu ...
- python判断栈的弹出序列是否合法
参考:https://www.2cto.com/kf/201701/552515.html 数据结构之判断栈的弹出序列是否合法:输入两个整数序列,第一个序列表示栈的压入序列,请判断第二个序列是否为该栈 ...
- python 两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点. 看到这道题的时候,很多人的第一反应就是采用蛮力的方法:在第一个链表上顺序遍历每个节点,每遍历到一个节点的时候,在第二个链表上顺序遍历每个节点.如 ...
- 基于Geoserver发布时间地图
Geoserver它是著名的开源GIS其中软件. 地图服务软件也经常使用的物品.基于geoserver和Openlayers它可以建立一个自由的,开放源码GIS工程. Geoserver公布地图的步骤 ...
- C#中HttpWebRequest与HttpWebResponse的使用方法
关键字:C# HttpWebRequest HttpWebResponse HTTP GET POST 请求 这个类是专门为HTTP的GET和POST请求写的,解决了编码,证书,自动带Cookie等问 ...
- TL9000 电信业质量体系管理标准
1.背景介绍:1987年国际标准化组织创立了ISO9000标准.标准发布后,在世界范围内得到了迅速的推广和广泛的认可,成为全世界衡量质量管理水平与质量保证能力的公共标准.九十年代,美国三大汽车公司和航 ...
- Robot Framework安装指南
安装软件下载列表: 2012年5月15日更新 1.python 2.7http://www.python.org/download/http://www.python.org/ftp/python/2 ...
- linux nano 命令
linux nano一linux像pico文本编辑软件,功能少.但是,基本能满足要求
- Java异常处理错误
Java异常处理错误 研究发现,在编译阶段的最佳时机错误,序之前.然而,编译期间并不能找出全部的错误,余下的问题必须在执行阶段解决.这就须要错误源通过某种方式把适当的信息传给某个接收者,该接收者知道怎 ...