gpt4 book ai didi

java - JSF2-回发后 viewscoped bean 上 viewParam 的行为

转载 作者:行者123 更新时间:2023-12-01 13:38:03 25 4
gpt4 key购买 nike

我有一个 viewscoped bean,它通过 f:viewparam 接收参数并使用它们在模型中设置值。页面回发后,参数从 url 中消失,但初始参数设置的模型值以某种方式保留。

这是保存参数的安全方法,还是我应该在回发时重写 url,以便保留后续调用的初始参数?

参数是如何保留的?在 View 状态?

最佳答案

这就是f:viewParam文档说:

[...] this tag causes a UIViewParameter to be attached as metadata for the current view. Because UIViewParameter extends UIInput all of the attributes and nested child content for any UIInput tags are valid on this tag as well.

这意味着<f:viewParam> value属性将使用请求参数进行更新,存储在 View 状态中,并在您再次提交页面时重新设置/重新验证。

Arjan Tijms 在此提供完整的故事:http://arjan-tijms.omnifaces.org/2011/07/stateless-vs-stateful-jsf-view.html

简而言之:使用 @ViewScoped bean 完全没问题,但如果您对该值使用昂贵的 validator/转换器,请注意,该页面的每次回发都会再次调用它。如果您想避免这种情况,请查看 this article来自 BalusC,它解释了 o:viewParam ,OmniFaces 的无状态替代方案。

关于java - JSF2-回发后 viewscoped bean 上 viewParam 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098126/

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