我们可以把整个bean放在sessionScope中。
<managed-bean>
<managed-bean-name>managedBeanList</managed-bean-name>
<managed-bean-class>com.org.SomeMBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
但有什么我们只能在sessionScope中放置a field of that managed bean
吗?
像...
public class SomeMBean{
public String mySessionScopeVariable; // Is there any way only this field will be in sessionscope continusly and not whole bean.
//getter setter of that variable.
}
答案 0 :(得分:4)
不,这是不可能的。
您应该在单独的会话范围bean中分隔字段,并使用@ManagedProperty
将其注入到较窄的范围bean中。
答案 1 :(得分:1)
我不知道怎么做。我不是JSF的专家,但是为了访问ManagedBean或任何bean中的属性,人们需要bean,因为如果没有bean,该属性就不存在。如果您认为托管bean膨胀会话大小,请将重变量设置为null以保存内存。但除此之外,我没有看到任何其他方式。