Lift SiteMap菜单条目中的单个“*”通配符

时间:2013-04-25 05:31:31

标签: scala lift

看起来Lift SiteMap DSL支持“*”和“**”作为通配符。显然,当您想匹配以某些前缀开头的所有路径时,“**”仅用于路径的末尾。但我不明白如何使用“*”。我曾希望它可以作为路径中一个路径组件的通配符。如下所示:

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

会匹配:

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

但这对我不起作用。 (即使路径存在于文件系统中,我也得到404.)如果这不应该是“*”的功能,有人可以请教我吗?我只能找到“**”的文档。

1 个答案:

答案 0 :(得分:1)

*将匹配单个级别的路径,**将匹配任何级别的路径。

例如,如你所说,

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

将匹配

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

但您仍然需要在home.html或其他匹配模板中使用名为webapp/category/alpha/的HTML模板。

如果您没有相应的HTML模板,Lift会响应404错误。