![](/img/trans.png)
[英]Access sessionscoped managedbean values in requestscoped/viewscoped 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.