我试图在JSF中使用它来动态显示页面的标题。
<h:panelGroup rendered="#{not empty searchBean.fsResultsTitleOne}"><h2>#{msgs.fireStudySearchTitle}</h2></h:panelGroup>我得到了一个错误:
rendered="#{not empty searchBean.fsResultsTitleOne}": Property 'fsResultsTitleOne' not found on type 但是,我确实在这样的类型上定义了它:
private String fsResultsTitleOne;
public String getFSResultsTitleOne(){return fsResultsTitleOne;}
public void setFSResultsTitleOne(String newValue){fsResultsTitleOne = newValue;}并将其设置为:
setFSResultsTitleOne("I'm not Empty!");甚至用这个来确保它被设置:
System.out.println("This is the FS Results Page Title: " + fsResultsTitleOne);它似乎正在起作用:
This is the FS Results Page Title: I'm not Empty!我是不是把它设错地方了?
发布于 2014-02-27 19:11:43
变化
getFSResultsTitleOne
setFSResultsTitleOne至
getFsResultsTitleOne
setFsResultsTitleOne发布于 2014-03-06 11:08:35
JSF在代码中访问属性的方式是将"get“添加到属性名称中,并以大写形式显示该属性的第一个字母。
例如,如果您在xhtml页面中以-
value="#{myBean.name}"良好的编码风格表明,您必须拥有相应的getter和setter的私有属性。因此JSF解析器为了访问该属性,将按以下方式转换请求-
value = myBean.getName()注意,N是大写的。
因此,如果您像以前那样处理属性的名称,解析器将很乐意抛出一个PropertNotFoundException。
https://stackoverflow.com/questions/22078111
复制相似问题