我有一个@RequestScoped
豆与List
属性。
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.springframework.stereotype.Controller;
@Controller
@ManagedBean
@RequestScoped
public class MyBean implements Serializable {
private List list;
// getters and setters
}
这个属性被链接到一个数据表:
<ice:dataTable value="#{myBean.list}" ..other stuff.. />
这份名单是动态的充满了没有问题,而数据表显示,没有任何问题。 但是,如果我导航到另一个页面,然后回到初始页面的数据表仍与初始请求的数据。 它不应该再是空的? 如果bean是请求范围应请求后销毁了,我应该得到和空数据表为起点。
更为奇怪的是,如果我在一个浏览器(如Firefox)打开网页,填写数据表一个请求,然后我打开另一个浏览器(如Chrome)并转到数据表页面,它充满了从之前的请求数据从其他浏览器! 我觉得这个bean的行为就像一个应用程序之一。
有任何想法吗?
更新1:类也不是一成不变的既不它的变量。 另外,我的tomcat禁用缓存,但仍然没有工作。
更新2:我想大概是发现了问题。 我的支持豆标注有@Controller
从春天。 我使用此批注,因为再使用@Autowired
绑定服务。 可能是这是建立一个独立的,并没有正在创建的每个请求销毁为什么呢? 我觉得很确定这个问题是在春季和JSF2注释的组合。