1

我正在关注 Liferay 网站上的这份文档来工作 Map Firendly URL Mappings

http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/adding-friendly-url-mapping-to-the-portlet

我正在使用 Liferay 版本=6.1.0

在超链接导航期间,我得到了以下网址

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

要修改上述内容,我尝试使用 Friendly URL Mapper,并且我已经完成了以下方式

在 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

请让我知道我到底在哪里做错了。

4

1 回答 1

1

您将值保留原样。也就是说,您将 {mvcPathName} 和“mvcPath”保持原样。

当生成友好 URL 时,它会从 URL 解析 mvcPath(即 edit.jsp 或 view.jsp),然后应用该模式,将 .../edit.jsp 替换为 .../edit。

此示例适用于编辑 JSP。它适用于视图页面;但不是在单击 Save ... 时,这是我可以研究的。但是,如果您去编辑然后单击返回链接,则会显示视图 JSP 的友好 URL。

我创建了一个票证来完成这个示例,以便在单击保存时它也会转到一个友好的 URL。当我们完成修复时,我将更新此部分。谢谢。

于 2013-08-15T16:09:30.923 回答