【问题标题】:jsf 2 best one managed bean multiple viewsjsf 2 最好的一个托管 bean 多个视图
【发布时间】:2013-09-10 21:54:59
【问题描述】:

我是 JSF 的菜鸟,我正在尝试找出以下场景中最优雅的解决方案:
假设我有一个名为 UserMB 的用户管理 bean:

@ManagedBean
public class UserMB {

private User user;
private List<User> users;

// getters and setters here

public void addUser(User user){
    // do add user logic here
}


public List<User> listAllUsers(){
    // do list All users logic here
}


@PostConstruct
private void init(){

    // populate List<user> users - for the listAllUsers scenario

    }   
}

假设我没有直接提交给 listAllUsers() 方法的表单,而是我想在打开页面 list-all-users.xhtml 时查看所有用户。 当我从 addUser.xhtml 访问托管 bean 时,将对 DB 执行查询以加载所有用户,因为 bean 不知道我是要使用 listAllUsers() 方法还是 addUser() 方法。
我应该将此功能拆分为 2 个托管 bean 吗?

因为如果是这样,我将不得不创建几个托管 bean 来处理“用户”业务(即,在 Struts2 中,我将只有一个操作来处​​理所有用户交互)。
附:我知道有解决方案可以在 getter 方法中填充 List,但我阅读了 BalusC 的一篇文章,建议我们不要这样做......

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    我应该将此功能拆分为 2 个托管 bean 吗?

    是的。每个视图/表单使用一个 bean。保持支持 bean 类尽可能光滑。不要给它太多的责任。

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2012-05-27
      • 2015-04-11
      • 2011-03-29
      • 1970-01-01
      • 2012-11-09
      • 2012-12-03
      • 2011-10-29
      • 2023-03-05
      相关资源
      最近更新 更多