JSF2.0托管bean';找不到的属性

JSF2.0托管bean';找不到的属性,jsf,jsf-2,Jsf,Jsf 2,JSF错误:/fstation/search.jspx(24,62){vManager.fStations}属性“fStations”在vm.beans.VisitorManagertype类型上找不到 vManager是我的托管服务器: search.jspx <h:form> <h:dataTable value="#{vManager.fStations}" var="row"> <h:column>

JSF错误:
/fstation/search.jspx(24,62){vManager.fStations}属性“fStations”在vm.beans.VisitorManagertype类型上找不到

vManager是我的托管服务器:


search.jspx

<h:form>
     <h:dataTable value="#{vManager.fStations}" var="row">
          <h:column>
              <f:facet name="header"><h:outputText value="ID"/></f:facet>
              <h:outputText value="#{row.id}"/>
          </h:column>
          <h:column>
               <f:facet name="header"><h:outputText value="NAME"/></f:facet>
              <h:outputText value="#{row.name}"/>
          </h:column>
     </h:dataTable>
</h:form>


管理代码如下所示:

package vm.beans;
import vm.model.DataManager;
import java.util.ArrayList;
import java.util.List;

public class VisitorManager {

    private List<FireStation> fStations;
    private DataManager dataManager = new DataManager();
    private String fireStationName;

    public String searchFireStation(){
        //String fName =fStation.getName();
        System.out.println("this is "+fireStationName);
        return null;
    }

    public void deleteStation(){    
    }

    /*
    * getter and setter
    */

    public String getFireStationName(){
        return fireStationName;
    }

    public void setFireStationName(String name1){
        this.fireStationName=name1;
    }

    public List<FireStation> getFStations(){
        //return dataManager.getFireStations();
        fStations = new ArrayList<FireStation>();
        fStations.add(new FireStation("001", "a1"));
        fStations.add(new FireStation("002", "a2"));
        fStations.add(new FireStation("003", "a3"));
        return fStations;
    }

    public void setFStations(List<FireStation> fs){
        this.fStations = fs;
    }
}
包vm.beans;
导入vm.model.DataManager;
导入java.util.ArrayList;
导入java.util.List;
公共类访问者管理器{
私人名单;
专用DataManager DataManager=新DataManager();
私有字符串fireStationName;
公共字符串searchFireStation(){
//字符串fName=fStation.getName();
System.out.println(“这是”+消防站名称);
返回null;
}
public void deleteStation(){
}
/*
*接二连三
*/
公共字符串getFireStationName(){
返回fireStationName;
}
public void setFireStationName(字符串名称1){
this.fireStationName=name1;
}
公共列表getFStations(){
//返回dataManager.getFireStations();
fStations=newarraylist();
增加(新消防站(“001”、“a1”));
增加(新消防局(“002”、“a2”);
增加(新消防局(“003”、“a3”);
返回fStations;
}
公共无效设置(列表fs){
this.fStations=fs;
}
}

如果属性名以两个或多个大写字符开头,则假定它正好是这种情况。getter
getFStations()
表示
FStations
的属性名,因此您应该这样访问它:

<h:dataTable value="#{vManager.FStations}" var="row">
或者可能:

<h:dataTable value="#{visitor.fireStations}" var="fireStation">


请为我们提供faces-config.xml文件…根据错误消息,bean已正确配置,因此faces配置不相关。为避免混淆,您可以直接使用getter name,例如abc.getName()
<h:dataTable value="#{visitor.fireStations}" var="fireStation">