我希望getter方法在多次調用時返回不同的值。類似下面的一個:VisualForce只調用一次getter方法
Iterator<String> itr = new List<String>{'one','two','three','four','five'}.iterator();
public String getValue(){
if(itr.hasNext())
return itr.next();
else
return 'No more values';
}
在visualforce,我用它作爲這樣的:
<!-- getNumber() called 5 times in a single visualforce page, NOT in a loop -->
{!value}
{!value}
{!value}
{!value}
{!value}
{!value}
,輸出是:
one one one one one one
有沒有辦法把它打印出來如:
one two three four five No more values
似乎visualforce解析器只調用一次getValue()並緩存頁面其餘部分的值。
使迭代靜態或
Visualforce文檔明確告訴我們「不要在你的getters或setters中使用副作用!並且不要指望獲取者和設置者被調用的數量或順序。你爲什麼想要做這種可憎的事? http://www.salesforce.com/us/developer/docs/pages/index_Left.htm#StartTopic=Content/pages_controller_lifecycle_example.htm – eyescream
主要是因爲不起作用一個<尖頂:重複...> 我有一個非常有限的頁面列表,我希望包括(只有10),但順序可能會改變。 –
CodeBaker