【发布时间】:2010-07-27 06:13:53
【问题描述】:
public class MyBackingBean{
private List model;
public String search(){
//change model data
model = doSearch();
return "same_view"
}
@PostConstruct
public void init(){
model = loadDefault()
}
//Other code omitted for clarity
}
在 JSP 中,出于某些原因,我使用 c:foreach 来迭代模型并在 HTML 表格中显示项目。 jsp 页面有一个搜索按钮,其操作映射到 #{mybackingbean.search}。因此,当我单击搜索时,我希望在同一页面上仅显示一个子集(基于搜索参数)。我遇到的问题是,“当我单击搜索按钮时,将调用搜索方法并返回一个视图名称。由于 bean 是请求范围的,因此在此之后创建了一个新的 bean 实例,最终创建了 init 方法覆盖结果。意思是,我得到了相同的初始视图,它显示所有项目,而不是只显示匹配项目”。
这有什么问题?请指导我找到解决此问题的理想方法。
【问题讨论】: