最近在用jsf 2.0.4 于richface 4.0进行开发!发现<h:datatable>的数据会取两次,不知道是我的理解有问题还是其他问题?这是我的代码。发现每次刷新页面时,System.out.println("getList"); 会运行两次? 这是正常行为吗?
里面的一个顺序是如何的,希望各位帮忙解惑!谢谢!
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";
}}VIEW:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
><h:head>
<title>JSF 2.0: Navigation with Default Mappings</title>
</h:head>
<h:body>  
    string:  
    <h:outputText value="#{userBean.string}" />
<br />  
    list:  
    <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>
<br />
</h:body>
</html>