4

blogs(デフォルト)ポートレットのURLを「http:// localhost:8080 / web / Standorman / blogs /-/ blogs/application-development-in-liferay」に変更しました

しかし、私はそれを「http:// localhost:8080 / web / Standorman / blogs/application-development-in-liferay」にしたい

誰かが私にそれを解決する方法を提案できますか?

4

3 に答える 3

0

おそらく、カスタム FriendlyURL マッパー クラスを追加して、その「-」プレフィックスを無効にします。これを試しましたか?

実際の例を示すのに役立つことができて本当に申し訳ありません。私もその機能に興味があるので、試してみましたが、少なくともliferay 6.1.0ではこれができないのではないかと心配しています. わかりやすい URL には「/-/」が必要なようです。私が見つけて提案した解決策は実際にはハックであり、いくつかの制限があればうまくいくと信じていますが、それを実装できたとしても、すべての liferay バージョンでうまくいくとは限りません。

リクエストに応じて、ここに詳細な手順を投稿していますが、これはうまくいかなかったと言わざるを得ません (カスタム マッパーは、FriendlyUrl の作成中にエラーをスローします)。

  1. DefaultFriendlyURLMapper を使用して、少なくとも 1 つのルートでフレンドリー マッピングを既に行っているはずです。URL に「/-/」文字が表示されている場合は、それが機能していることがわかります。この URL を覚えておいてください。後でテストするために必要になります。
  2. DefaultFriendlyURLMapper を拡張するカスタム MAPper クラスを作成する

        public class DemoCustomFriendlyUrlMapper extends DefaultFriendlyURLMapper {
    
    @Override
    public boolean isCheckMappingWithPrefix() {
    
        return false;
    }
    

クラス修飾名を取得してください (Eclipse では、クラス名の上にカーソルを置いて F2 キーを押します)。

  1. liferay-portlet.xml に移動して置き換えます

    <friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
    

<friendly-url-mapper-class>com.liferay.samples.DemoCustomFriendlyUrlMapper</friendly-url-mapper-class>

フレンドリー ルーティングされる URL に移動して、何が起こるかを確認します。

于 2013-03-08T09:46:03.247 に答える
0

リソースに url-mapping.xml ファイルを作成します。ファイルに次のエントリを追加します。

/{value} ----- "/view/" なしでリソース名を試してください 2 cacheLevelPage

また、次のコードを liferay-portlet.xml に追加する必要があります。.....アイコン com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper の後、URL /urlMapping/you url-mapping.xml 名をマップするリソース名 ....

私の場合、リソースを作成しました。基本的には、わかりやすい URL を持つ新しいページのハイパーリンクです。

これが役に立てば幸いです。頑張ってください

于 2013-03-15T03:32:52.270 に答える