我在Liferay网站上关注此文档以制作Map Firendly URL Mappings
我正在使用Liferay版本= 6.1.0
在HyperLink导航期间,我收到了以下网址
http://localhost:8080/web/guest/what-we-do?p_p_id=sai_WAR_Saiportlet&
p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1
&_sai_WAR_Saiportlet_jspPage=%2Fhtml%2Fsai%2Fedit.jsp
要修改上面的内容,我尝试使用友情URL映射器,我已经完成了以下方式
在liferay-portlet.xml文件中。
<portlet>
<portlet-name>sai</portlet-name>
<icon>/icon.png</icon>
<friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
<friendly-url-mapping>sai</friendly-url-mapping>
<friendly-url-routes>com/test/sai-friendly-url-routes.xml</friendly-url-routes>
<instanceable>false</instanceable>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>
/js/main.js
</footer-portlet-javascript>
<css-class-wrapper>sai-portlet</css-class-wrapper>
</portlet>
在
中按名称sai-friendly-url-routes.xml创建一个新文件D:\liferay-plugins-sdk-6.1.0-SNAPSHOT\portlets\Sai-portlet\docroot\WEB-INF\src\com\test\sai-friendly-url-routes.xml
sai-friendly-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">/{mvcPathName}.jsp</generated-parameter>
</route>
</routes>
但我观察到网址没有变化
http://localhost:8080/web/guest/what-we-do?p_p_id=sai_WAR_Saiportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_sai_WAR_Saiportlet_jspPage=%2Fhtml%2Fsai%2Fedit.jsp
请让我知道我在哪里做错了。
答案 0 :(得分:1)
您可以保留原样。也就是说,您按原样保留{mvcPathName}和“mvcPath”。
生成友好URL时,它会从URL解析mvcPath(即edit.jsp或view.jsp),然后应用模式,将... / edit.jsp替换为... / edit。< / p>
此示例适用于编辑JSP。它适用于视图页面;但不是在点击保存时...这是我可以研究的内容。但是,如果您进行编辑然后单击后退链接,则将显示友好URL以用于视图JSP。
我创建了一个完成此示例的故障单,以便在单击“保存”时也可以转到友好的URL。我们在修复后会更新此部分。 谢谢。