首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型上找不到的属性

问类型上找不到的属性
EN

Stack Overflow用户
提问于 2014-02-27 19:10:35
回答 2查看 7.2K关注 0票数 0

我试图在JSF中使用它来动态显示页面的标题。

代码语言:javascript
复制
<h:panelGroup rendered="#{not empty searchBean.fsResultsTitleOne}"><h2>#{msgs.fireStudySearchTitle}</h2></h:panelGroup>

我得到了一个错误:

代码语言:javascript
复制
rendered="#{not empty searchBean.fsResultsTitleOne}": Property 'fsResultsTitleOne' not found on type 

但是,我确实在这样的类型上定义了它:

代码语言:javascript
复制
private String fsResultsTitleOne;
public String getFSResultsTitleOne(){return fsResultsTitleOne;}
public void setFSResultsTitleOne(String newValue){fsResultsTitleOne = newValue;}

并将其设置为:

代码语言:javascript
复制
setFSResultsTitleOne("I'm not Empty!");

甚至用这个来确保它被设置:

代码语言:javascript
复制
System.out.println("This is the FS Results Page Title: " + fsResultsTitleOne);

它似乎正在起作用:

代码语言:javascript
复制
This is the FS Results Page Title: I'm not Empty!

我是不是把它设错地方了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-27 19:11:43

变化

代码语言:javascript
复制
getFSResultsTitleOne
setFSResultsTitleOne

至

代码语言:javascript
复制
getFsResultsTitleOne
setFsResultsTitleOne
票数 2
EN

Stack Overflow用户

发布于 2014-03-06 11:08:35

JSF在代码中访问属性的方式是将"get“添加到属性名称中,并以大写形式显示该属性的第一个字母。

例如,如果您在xhtml页面中以-

代码语言:javascript
复制
value="#{myBean.name}"

良好的编码风格表明,您必须拥有相应的getter和setter的私有属性。因此JSF解析器为了访问该属性,将按以下方式转换请求-

代码语言:javascript
复制
value = myBean.getName()

注意,N是大写的。

因此,如果您像以前那样处理属性的名称,解析器将很乐意抛出一个PropertNotFoundException。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22078111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档