jsf 覆盖默认 javax.faces.STATE_SAVING_METHOD 以获得具体视图

Posted

技术标签:

【中文标题】jsf 覆盖默认 javax.faces.STATE_SAVING_METHOD 以获得具体视图【英文标题】:jsf override default javax.faces.STATE_SAVING_METHOD for concrete view 【发布时间】:2018-06-08 20:19:59 【问题描述】:

web.xml 中的 javax.faces.STATE_SAVING_METHOD 参数用于指定应保存状态的位置。客户端或服务器

如果您想将状态保存在服务器上(这是 JavaServer Faces 参考实现中的默认设置),请将 param-value 值指定为 server。

否则我们可以在参数值中指定客户端来保存客户端的状态。

如果状态保存在客户端,则将整个视图的状态渲染到页面的隐藏字段中。

有没有办法覆盖 web.xml 中的默认全局配置并为具体视图设置自定义状态保存策略?

【问题讨论】:

【参考方案1】:

不,这是不可能的。见https://github.com/javaee/javaserverfaces-spec/issues/1056

我在JSF 2.0 - set javax.faces.STATE_SAVING_METHOD on a specific manage bean only 中找到了这个“答案”,但由于那个 Q 是关于一个特定的 bean 而不是一个视图,我将添加这个额外的答案而不是标记为重复。

【讨论】:

以上是关于jsf 覆盖默认 javax.faces.STATE_SAVING_METHOD 以获得具体视图的主要内容,如果未能解决你的问题,请参考以下文章

JSF 2 应用程序中的默认托管 Bean 范围是啥?

在 JSF 项目中通过 <welcome-file> 设置默认主页

JSF 复合组件支持 bean EL 表达式作为必需属性的默认值失败,方法未知

使用ajax从jsf中的primefaces树选定项设置primefaces selectOneMenu默认值

默认情况下,JSF 会生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

JSF PrimeFaces overlayPanel 提交值