gpt4 book ai didi

jsf - 如何在jsf中重置?

转载 作者:行者123 更新时间:2023-12-05 00:06:35 25 4
gpt4 key购买 nike

我正在使用 liferay 和 jsf。在我的 portlet 中,我尝试在提交页面后通过为支持 bean 设置新值来重置。我得到了空白字段,但是当我刷新页面时,我又得到了我之前提交的旧值,并且它再次提交了旧值。

我尝试获取新的 viewroot,但它也给了我相同的结果。

public void reset(AjaxBehaviorEvent event){

FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context
.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
context.renderResponse(); //Optional

this.MyBean = new MyBean();
}

附言提交后,我将此方法称为 reset(null);

最佳答案

如果你想在每次请求后重置bean;在这种情况下,您可以使用 jsf 提供的范围而不是使用函数。

request 范围内使用 bean

tutorial on bean scopes

关于jsf - 如何在jsf中重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14645285/

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