省略 Liferay 友好 URL 中的减号“-”

Posted

技术标签:

【中文标题】省略 Liferay 友好 URL 中的减号“-”【英文标题】:Omit the minus "-" in Liferay friendly URL 【发布时间】:2016-05-09 22:22:13 【问题描述】:

我为我的 abc-portlet 创建了一个友好的 URL 文件(该 portlet 使用 DefaultFriendlyURLMapper):

<routes>
    <route>
        <pattern>/urlTitle</pattern>
        <implicit-parameter name="p_p_lifecycle">0</implicit-parameter>
        <implicit-parameter name="struts_action">/view</implicit-parameter>
    </route>
</routes>

这就像一个魅力,但我想了解,是否有办法省略友好 URL 中的“-”? 即

http://.../page/-/abc/title

应该是

http://.../page/abc/title

【问题讨论】:

【参考方案1】:

我找到了解决办法。

您必须扩展 DefaultFriendlyURLMapper 并覆盖 isCheckMappingWithPrefix 方法。 (..当然也可以将此类定义为您的 FriendlyURLMapper。)

public class FriendlyUrlWithoutMinus extends DefaultFriendlyURLMapper 

    @Override
    public boolean isCheckMappingWithPrefix() 
        return false;
    


【讨论】:

在没有- 的情况下,我能够让网址正常工作。但是,当呈现 URL 路由到友好 URL 时,它会在 URL 中包含 -。您是否还能够操作或更改替换参数化 url 的 URL 模式并删除其中的 -。我们不想在 URL 中手动删除 - @ughai 很抱歉,但以上内容只会影响结果/友好的 URL,我不需要更改源 URL 格式。

以上是关于省略 Liferay 友好 URL 中的减号“-”的主要内容,如果未能解决你的问题,请参考以下文章

Liferay 相同的操作和渲染方法的友好 url

Liferay 友好的 URL 参数丢失

如何在 Liferay 门户中实现友好 URL

带有可选参数的 Liferay 友好 URL

如何在 PrettyFaces 的帮助下将长的 Liferay URL 映射到友好的 URL?

如何在liferay中制作友好的网址