0

私のウィケットアプリケーション設定で、ルートにユーザー名パラメーターをマウントしたい

mountPage (Profile.class, "/${username}") は、Twitter がユーザー名をアカウントにマップする方法と似ています。wicket では、これによりリソース ロケーション アルゴリズムがクラッシュするようです。すべての css、js ファイルが 404 でロードされるようになったという意味で。

これを回避する方法はありますか?

4

2 に答える 2

1

martin-g に感謝します。URL セグメントを 1 に設定して MountMapper をオーバーライドし、他のリソースにマップされないようにします。

 public class UsernameMountUrlMapper extends MountedMapper {

    public UsernameMountUrlMapper(String mountPath,
         Class<? extends IRequestablePage> pageClass) {
       super(mountPath, pageClass);
  }

  @Override
  protected boolean urlStartsWithMountedSegments(Url url) {
      return url.getSegments().size() == 1 &&      !url.getPath().equals("favicon.ico") && !url.getPath().equals("oops") && !url.getPath().equals("Index");
    }

 }
于 2015-04-17T09:15:24.737 に答える
1

コードは次のようになりますmountPage (Profile.class, "/${username}")。追加した$に注意してください。これは、名前付きパス パラメータが必須であることを意味します。

これで問題が解決しない場合は、問題の詳細をお知らせください。

于 2015-04-07T07:21:36.023 に答える