我想在调用某个方法时通过JSF支持bean重置.假设有一个命令按钮,有人按下它,在成功完成事务后,我的View或Session范围JSF bean应该被重置.有没有办法做到这一点?
谢谢
Bal*_*usC 13
当您从action方法返回non null或non 时,将重新创建视图范围bean void,即使它将返回到同一视图.所以,只需String从action方法返回一个,即使它只是一个空字符串:
public String submit() {
// ...
return "";
}
Run Code Online (Sandbox Code Playgroud)
要使其完整,您可以考虑通过将?faces-redirect=true查询字符串附加到返回的结果来发送重定向.
public String submit() {
// ...
return "viewId?faces-redirect=true";
}
Run Code Online (Sandbox Code Playgroud)
对于您目前正在尝试实现的任何内容,会话范围的bean首先是错误的范围.有问题的bean应该是一个视图范围的bean.忽略这一点,您可以在action方法中重新创建模型,或者可能完全使会话无效(这也会破坏所有其他视图和会话范围的bean,但不确定这是否是您所追求的).
Ahm*_*DAL 13
我找到了View范围的解决方案.
public static void removeViewScopedBean(String beanName)
{
FacesContext.getCurrentInstance().getViewRoot().getViewMap().remove(beanName);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26804 次 |
| 最近记录: |