我有几个页面共享页面的特定部分,例如一组复选框,显示所有能够在这些用户中搜索的用户,所以我正在考虑将 UI 部分分组到一个 facelet 中,以便我可以将它包含在其他页面,对于服务器端部分,我正在考虑创建一个包含该页面的方法和属性的 sessionScoped bean,您如何看待这种方法?请指教,谢谢。
更新:有一个重要的问题,我是否应该使该 bean 中的方法同步,以便它为不同的请求返回不同的值,我的意思是不为不同的请求返回相同的结果?
我有几个页面共享页面的特定部分,例如一组复选框,显示所有能够在这些用户中搜索的用户,所以我正在考虑将 UI 部分分组到一个 facelet 中,以便我可以将它包含在其他页面,对于服务器端部分,我正在考虑创建一个包含该页面的方法和属性的 sessionScoped bean,您如何看待这种方法?请指教,谢谢。
更新:有一个重要的问题,我是否应该使该 bean 中的方法同步,以便它为不同的请求返回不同的值,我的意思是不为不同的请求返回相同的结果?
是的,这听起来不错,只要它不太重,您可以将这些东西放在会话范围内
使用请求范围的 bean 而不是会话范围的。对此类事情使用延迟加载模式。在其他bean中分离公共资源是一个很好的解决方案
class CommonsBean {
private List<User> users;
public List<User> getUsers() {
if (users == null) {
users = // here some code to load it from DB
}
return users;
}
}