JSF2.0托管bean';找不到的属性
JSF错误: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>
/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;
}
}
如果属性名以两个或多个大写字符开头,则假定它正好是这种情况。gettergetFStations()
表示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">