繁体   English   中英

未绑定的sessionScoped ManagedBean值

[英]unbound sessionScoped ManagedBean value

我有一个SessionScoped ManagedBean。 我想重置这个bean的所有值。 我正在使用JSF 2.1.0-b03

@ManagedBean(name = "myBean")
@SessionScoped
public class MyBean implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name;
}

现在,我有了方法,它将所有值重置为null。 但我不喜欢这个解决方案。

private void unboundValue() {
    name= null;
}

如何从SessionScoped ManagedBean中取消绑定值?

手动重置似乎是正确的方法。 如果要使整个会话无效,而不只是一个bean,则调用session.invalidate() 如果它只是一个bean,手动字段重置就可以了。

我想你可以从ExternalContext的sessionmap中删除SessionScoped managedbean。 下次访问bean时,将使用默认值创建一个新bean,或者只创建一个新bean并将其插入到会话映射中,从而替换旧的 bean。 当然这个过程有点开销,但是如果你有很多需要重置的值,那可能就是一个解决方案。

否则你需要某种reset / unboundValue()方法,就像你已经说过的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM