2013-04-25 23 views
2

看起來好像Lift SiteMap DSL支持「*」和「**」作爲通配符。顯然,只有在路徑末尾使用「**」,才能匹配以某些前綴開頭的所有路徑。但我不明白「*」是如何使用的。我希望它可以作爲路徑中的一個路徑組件的通配符。因此,像:Lift網站地圖菜單條目中的單個「*」通配符

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

將匹配:

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

但是,這並不爲我工作。 (即使路徑存在於文件系統中,我也會得到一個404)。如果這不是「*」的功能,有人請賜教嗎?我只能找到「**」的文檔。

回答

1

*將匹配單個級別的路徑,並且**將匹配任何級別的路徑。

例如,就像你說的,

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

將匹配

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

但你仍然需要在webapp/category/alpha/稱爲home.html HTML模板或其他匹配模板。

如果您沒有相應的HTML模板,Lift會迴應404錯誤。

+0

謝謝。今天它運作。試想我想,或者我只是需要相信。 – trenobus 2013-04-25 15:30:47