我想知道哪种方式更受欢迎:通过完整的classname.property访问backing bean变量,或者通过producer方法直接访问属性名称?特别是如果项目变得更大,有很多课程,服务,外墙等.
@Named
public Service {
List<Customer> getCustomers();
}
use:
<h:dataTable value="#{service.customers}" />
Run Code Online (Sandbox Code Playgroud)
要么
public Service {
@Produces
@Named
List<Customer> getCustomers();
}
use:
<h:dataTable value="#{customers}" />
Run Code Online (Sandbox Code Playgroud)
对我来说,第一个好处是,如果我必须更改jsf,我总是知道由于完全限定名称我必须修改哪个类.
这将是第二种方式的缺点,但相比之下,在许多服务和类的情况下更好地阅读.
你会有什么专家说的?
IMO,我选择第一条路线。重构也更容易(假设您的 IDE 也会在 JSF 页面中重命名)。不过,老实说,我希望这是一种个人风味。
使用 service.property 的另一个优点是能够修改属性并将其反映在 UI 上。如果您使用生产者,则每个作用域仅调用该生产者一次,而 getter 则始终被调用(另一个性能权衡)。做事的方法有很多,只要有效,就用那种方法。
| 归档时间: |
|
| 查看次数: |
746 次 |
| 最近记录: |