gpt4 book ai didi

java - 使用 Spring bean 在 JSF 1.2 中模拟 jsf 2.0 View 范围

转载 作者:行者123 更新时间:2023-12-01 14:19:43 26 4
gpt4 key购买 nike

我正在处理一个使用 JSF 1.2 的项目,在 WAS 7 之上将 portlet 部署到 WebSphere Portal Server 6.1。由于各种契约(Contract)/政治原因,我们坚持使用 JSF 1.2。

然而。我们在整个应用程序中使用 Spring bean 以获得 AoP 日志记录。

我们不能使用 JSF 2.0 有点烦人。特别是, View 范围非常适合我们的应用程序。这将是一个使用率很高的站点,将所有页面 bean 保留在 session 范围内是一种浪费,我相信稍后会引起我们的非功能测试团队的注意。

我突然想到,我可以通过使用 Spring 的自定义范围和自定义 JSF 组件来模拟 View Scope,该组件只需维护由 Spring 范围设置的 Activity bean 的映射并将此组件附加到我们的页面上。与可以在此映射中找到 bean 的自定义变量解析器一起,我们应该能够模拟 View 范围

(我们的旅程只有四页,但每个页面都有几个回发到同一页面)

这种方法听起来如何?我想确保在我向我的项目同事展示这个并开始撕开我们已经编写的 bean 代码之前,我不会以某种方式射中自己的脚。

最佳答案

不确定 Spring,但对于 JSF 1.2 托管 bean,Tomahawk's <t:saveState> 是让 JSF 1.2 请求作用域 bean 的行为(几乎)与 JSF 2.0 View 作用域 bean 完全一样的方式。差不多,因为在 JSF 2.x 中销毁 View 和保存状态的效率更高一些。但最终效果是一样的。

您需要做的就是在 View 中的其他地方通过该标记引用 bean:

<t:saveState value="#{bean}" />

关于java - 使用 Spring bean 在 JSF 1.2 中模拟 jsf 2.0 View 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com