从Servlet访问JSF ViewScoped托管bean



如何从Servlet访问JSF ViewScoped托管bean?

(假设有问题的托管bean已经创建,但仍未被销毁)

视图范围的变量存储在组件树的视图映射中。要在视图上下文之外访问这些数据,您必须创建一个JSF上下文并恢复请求的视图。这涉及到重写JSF容器提供的大部分功能。

JSF2提供了在不刷新页面的情况下与服务器端状态交互的机制:AJAX标签和JSFJavaScriptneneneba API。如果可能的话,我会考虑利用这些。

或者,将数据放入一个可以通过servlet(会话)轻松访问的范围中

由于视图状态通常在会话中保持,因此从技术上讲,从这里访问视图状态是可能的。但这将涉及特定于实现的黑客攻击,这些攻击可能无法在底层框架升级后幸存下来。我甚至不认为这是一个解决方案

最新更新