2012-02-09 59 views
1

我有一个jsf 1.2应用程序,我需要显示一个具有辅助bean的页面(jsp)。我看到的大多数示例都显示了用户编辑的空白jsp。在我的情况下,我需要在jsp加载之前从数据库获取一些数据,如何完成此操作?在显示页面和共享多个页面之前访问busniess逻辑

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

我来自Struts背景,我将调用Action的URL,它将调用业务逻辑来获取数据,然后我将直接指向JSP。对于JSF来说,它看起来不是非常简单。

回答

2

我试图@PostConstruct在后台bean的方法,但如果我分享这个bean有多个JSP它初始化所有页面的信息,我需要为不同的页面不同的数据,每个页面应该从数据库中的一些数据然后在JSP中显示。

页(视图)应该有它自己的请求/视图作用域确定辅助bean这是不别处共享。这应该解决你的“问题”(这实际上只是一个设计问题)。不要为多个视图使用单个会话作用域bean。这是会话范围的错误使用。


我从Struts的背景下,我将调用的URL,这将调用有业务逻辑来获取数据,然后我就直接到JSP的行动来。对于JSF来说,它看起来不是非常简单。

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

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

+0

Thanks @BalusC我接受了你的答案,再次感谢! – 2012-02-09 23:42:31

相关问题