首先,需要确保PrimeFaces库和PrimeFaces主题正确配置。如果仍然存在getter未调用的问题,则需要检查以下几个方面:
-
检查bean中的getter方法的命名是否与xhtml中的命名相同。
-
检查getter方法的返回值是否与xhtml页面定义的类型相同。
-
检查是否使用了@ManagedBean注释,如果使用了,则必须将该注释替换为@Named注释。
示例:
xhtml页面:
<h:outputText value="#{myBean.myField}" />
Java Bean:
@Named
@RequestScoped
public class MyBean {
private String myField;
public String getMyField() {
return myField;
}
public void setMyField(String myField) {
this.myField = myField;
}
@PostConstruct
public void init() {
myField = "hello world";
}
}
在此示例中,我们通过使用@Named注释替换@ManagedBean注释来解决getter未调用的问题。此外,检查getter方法是否与xhtml页面名称相同也是必要的。在本示例中,myField是bean中的属性,也是xhtml页面中指定的名称。最后,在bean中初始化myField,确保其具有初始值。