如何制作共享/实用支持 bean?

发布于 2024-12-22 13:29:50 字数 258 浏览 2 评论 0原文

我有几个页面共享页面的特定部分,例如一组复选框,显示所有能够在这些用户中搜索的用户,所以我正在考虑将 UI 部分分组在一个 Facelet 中,这样我就可以将其包含在其他用户中页面,对于服务器端部分,我正在考虑制作一个包含该页面的方法和属性的 sessionScoped bean,您对这种方法有何看法?请指教,谢谢。

更新:有一个重要的问题,是我应该使该bean中的方法同步,以便它为不同的请求返回不同的值,我的意思是不为不同的请求返回相同的结果?

i have several pages that shares specific part of the page let's say for example a groups of checkboxes that display all users with ability to search in those users, so i am thinking of grouping the UI part in a facelet so i can include it in other pages, and for the server side part i am thinking of make a sessionScoped bean that contains the methods and properties for that page, what do you think about this approach ? please advise, thanks.

UPDATE: there's an important concern, is that should i make the methods in that bean synchronized so that it will return different values for different requests , i mean not to return same results for different requests ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花间憩 2024-12-29 13:29:53

使用请求范围的 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;
    }

}

Use request scoped bean instead of session scoped. Use lazy-loading pattern for such things. Separating common resources in other bean is a good solution

class CommonsBean {
    private List<User> users;

    public List<User> getUsers() {
      if (users == null) {
          users = // here some code to load it from DB
      }
      return users;
    }

}
北城半夏 2024-12-29 13:29:52

是的,这听起来不错,只要它不是太重,您可以将这些东西放在会话范围内

Yes that sounds good, as far as it is not too heavy you can put these stuff in session scope

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文