看起来Lift SiteMap DSL支持“*”和“**”作为通配符。显然,当您想匹配以某些前缀开头的所有路径时,“**”仅用于路径的末尾。但我不明白如何使用“*”。我曾希望它可以作为路径中一个路径组件的通配符。如下所示:
Menu("Category Home Pages") / "category" / * / "home"
会匹配:
/category/alpha/home
/category/beta/home
/category/gamma/home
etc.
但这对我不起作用。 (即使路径存在于文件系统中,我也得到404.)如果这不应该是“*”的功能,有人可以请教我吗?我只能找到“**”的文档。
答案 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错误。