【问题标题】:Access busniess logic before showing page and share bean for multiple pages在显示页面之前访问业务逻辑并为多个页面共享 bean
【发布时间】:2012-02-09 19:47:11
【问题描述】:

我有一个 jsf 1.2 应用程序,我需要在其中显示一个具有支持 bean 的页面 (jsp)。我看到的大多数帮助示例都显示了一个用于用户 ot 编辑的空白 jsp。在我的情况下,我需要在加载 jsp 之前从 DB 中获取一些数据,如何做到这一点?

我在支持 bean 方法上尝试了@postconstruct,但是如果我与多个 JSP 共享这个 bean,它正在初始化所有页面的信息,我需要为不同页面提供不同的数据,并且每个页面应该在显示在 JSP 之前从 db 读取一些数据.

我来自 Struts 背景,我将调用 Action 的 URL,该 URL 将调用具有业务逻辑来获取数据,然后我将定向到 JSP。要使用 JSF 完成此任务,这似乎并不简单。

【问题讨论】:

    标签: jsf


    【解决方案1】:

    我在支持 bean 方法上尝试了 @postconstruct,但是如果我与多个 JSP 共享这个 bean,它正在初始化所有页面的信息,我需要为不同页面提供不同的数据,并且每个页面都应该在之前从 db 读取一些数据在 JSP 中显示。

    页面(视图)应该有自己的请求/视图范围的支持 bean,它在其他地方共享。这应该可以解决您的“问题”(这实际上只是一个设计问题)。不要将单个会话范围的 bean 用于多个视图。这是对会话范围的错误使用。


    我来自 Struts 背景,我将调用 Action 的 URL,该 URL 将调用具有业务逻辑来获取数据,然后我将定向到 JSP。使用 JSF 完成此任务似乎并不简单。

    JSF 和 Struts 非常不同。 JSF 是一个基于组件的 MVC 框架,而 Struts 是一个基于动作的 MVC 框架。您不应该在设计 JSF 支持 bean 类的同时考虑到 Struts 动作类。阅读一些不错的 JSF 教程应该会让你走上正轨。有关概述,另请参阅our JSF wiki page 的底部。

    请注意 JSF 1.2 已经完全过时了。 JSF 2.0 已经在 2 年前发布了。如果这是一个新应用程序或只是爱好,我建议忘记 JSF 1.2 并继续使用 JSF 2.0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-18
      • 2021-05-06
      • 2019-02-01
      • 1970-01-01
      相关资源
      最近更新 更多