編輯:花時間寫一個大的答案後,就在你的代碼中的錯誤! 在#list標籤中,您應該有items
,而不是pages
。您的代碼應該閱讀。
#{list items:results.startPage..results.endPage, as:'page'}
${page}
#{/list}
對於那些有興趣在如何Groovy的範圍變量的作品,下面是一個描述,而不是我刪除長的答案!
我認爲你正在以錯誤的方式使用範圍方法。 for循環的Groovy Range構造允許您從一個值循環到另一個值。這通常是一個整數或字符串,而不是一個List。
所以,如果你做到以下幾點,將打印0至10
#{list items:0..10, as:'i'}
${i}
#{/list}
然而,值可以在控制器中進行設置。因此,如果您想要使用控制器中設置的start
和end
變量集(假設它們設置爲0和10),則可以執行以下操作。
#{list items:start..end, as:'i'}
${i}
#{/list}
我的控制器測試該構造如下,它工作正常。
public static void index() {
int start = 0;
int end = 10;
render(start, end);
}
這將打印相同的0到10.即使我通過封裝在類中發送這些變量,它仍然工作正常。
您確定startPage
和endPage
是整數值嗎?
真棒,感謝您的發現! – Jason 2011-05-01 12:55:59