Fra*_*z H 4 jsf el managed-bean
我在下面的会话作用域CDI托管bean:
@Named
@SessionScoped
public class RegisterController implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private MitgliedAbc mitgliedAbc;
public MitgliedAbc getMitgliedABC() {
return mitgliedAbc;
}
public void setMitgliedAbc (MitgliedAbc mitgliedAbc) {
this.mitgliedAbc = mitgliedAbc;
}
}
Run Code Online (Sandbox Code Playgroud)
并以JSF形式输入以下内容:
<h:inputText value="#{registerController.mitgliedAbc.mgEmail}" />
Run Code Online (Sandbox Code Playgroud)
部署到GlassFish 4.1并在浏览器中打开页面时,会引发以下异常:
javax.el.PropertyNotFoundException:/register.xhtml @ 27,66 value ="#{registerController.mitgliedAbc.mgEmail}":类'com.example.RegisterController'没有可读属性'mitgliedAbc'.
这是怎么造成的,我该如何解决?
javax.el.PropertyNotFoundException:类'xxx'没有可读属性'yyy'
这基本上意味着该类xxx没有属性的(有效)getter方法yyy.
换句话说,下面的EL表达式应该输出值,
#{xxx.yyy}
Run Code Online (Sandbox Code Playgroud)
无法public Yyy getYyy()在课堂上找到方法xxx.
在您的特定情况下,使用以下EL表达式,
#{registerController.mitgliedAbc}
Run Code Online (Sandbox Code Playgroud)
它找不到public MitgliedAbc getMitgliedAbc()房产.
事实上,这种方法并不存在.它被命名getMitgliedABC()而不是getMitgliedAbc().
相应地修复方法名称以完全匹配getYyy().
public MitgliedAbc getMitgliedAbc() {
return mitgliedAbc;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10527 次 |
| 最近记录: |