将输入值绑定到JSF托管bean属性的正确方法是什么?

Blu*_*ird 5 jsf el

我是JSF和托管bean的新手.我有一个托管bean,其中包含一些私有属性,包含公共setter和Getter方法.现在当我将托管bean的属性添加到JSF表单时,我应该直接添加私有方法还是应该使用Getter方法调用属性?

例如:

  1. <h:inputText value="#{BeanName.userName}"/>
  2. <h:inputText value="#{BeanName.getUserName()}"/>

上面哪一个是正确的?

Bal*_*usC 6

假设您使用的是JBoss EL或EL 2.2+,两种方式都可以在初始显示中正常工作.但第一个实际上更正确,因为第二个只有get价值,但从来没有 set价值.如果要收集输入值,则应始终采用第一种方式.然后,EL(表达式语言)将在需要时自动定位getUserName()setUserName()方法.

第二种方法在使用标准JSF EL实现时永远不会起作用,因为它不支持直接方法调用.

要了解有关JSF的更多信息,请从我们的JSF wiki页面开始.