2

Lift SiteMap DSL は「*」と「**」の両方をワイルドカードとしてサポートしているようです。どうやら「**」は、何らかのプレフィックスで始まるすべてのパスに一致させたい場合に、パスの最後でのみ使用されます。しかし、「*」の使い方がよくわかりません。パス内の 1 つのパス コンポーネントのワイルドカードとして機能することを期待していました。次のようなものです:

    Menu("Category Home Pages") / "category" / * / "home"

一致します:

    /category/alpha/home
    /category/beta/home
    /category/gamma/home
    etc.

しかし、これは私にはうまくいきません。(パスがファイルシステムに存在するにもかかわらず、404 が返されます。) これが "*" の機能ではない場合、誰か教えていただけますか? 「**」のドキュメントしか見つかりませんでした。

4

1 に答える 1

1

*単一レベルのパスに一致し、**パスの任意のレベルに一致します。

例えば、おっしゃる通り、

Menu("Category Home Pages") / "category" / * / "home"

一致します

/category/alpha/home
/category/beta/home
/category/gamma/home
etc.

home.htmlただし、呼び出されたHTML テンプレートwebapp/category/alpha/またはその他の一致するテンプレートが必要です。

対応する HTML テンプレートがない場合、Lift は 404 エラーを返します。

于 2013-04-25T09:11:11.203 に答える