【发布时间】:2011-07-21 23:44:33
【问题描述】:
我正在使用 JSF 2.0。我想使用 h:dataTable,我意识到当我在浏览器中打开视图时,dataTable 中的值函数被调用了 2 次。
我对此感到困惑,我不知道我做错了什么。也许这是正常行为(?)。请帮忙。
它将转到 System.out.println("getList"); 2 次。对吗?
这是我的代码。
Bean 类:
package com.sonicwall.es.bean;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class UserBean {
private List<String> list=new ArrayList<String>();
public UserBean() {
list.add("Tom");
list.add("Andy");
}
public List<String> getList() {
System.out.println("getList");
return list;
}
public String getString() {
System.out.println("getString");
return "String";
}
}
查看
字符串:
<h:outputText value="#{userBean.string}" />
列表:
<h:dataTable cellpadding="10" cellspacing="0" border="5"
value="#{userBean.list}" var="item">
<h:column>
<h:outputText value="#{item}">
</h:outputText>
</h:column>
</h:dataTable>
【问题讨论】: