【发布时间】:2014-07-04 05:23:15
【问题描述】:
我正在使用 java 和 PrimeFaces 开发应用程序。下面是我写的java代码:
class ShowRecordsManagedBean{
private List<RecordDTO> recordInfoList = null;
...
..
public List<RecordDTO> getRecordList() {
boolean flag=true;
try {
if(dataList==null){
//logic here
flag=false;
}
if(dataList!=null && flag){
//Logic here
}
} catch (Exception e) {
}
return dataList;
}
问题是每次页面加载时控件必须进入以下 if 条件:
if(dataList==null){
//logic here
flag=false;
}
但仅在时间上,它会转到上面提到的 if(..) 条件,稍后即使我刷新页面,它也会转到其他 if(..) 存在。
if(dataList!=null && flag){
//Logic here
}
如何修改条件,每次刷新页面时都必须进入第一个 if(..) 条件,基本上即使页面加载,对象值也不会变为 null。我最初将所有对象初始化为 null在声明的同时。我需要关闭浏览器或删除缓存以使控件进入其他 if(dataList!=null && flag) 条件。
修改如下:
@ManagedBean
@ViewScoped
public class ShowRecordsManagedBean {
//fields declaration
private List<RecordsDTO> recordInfoList = null;
@PostConstruct
public void init() {
recordInfoList = null;
}
//getters, setters and other methods...
public List<RecordDTO> getRecordList(){
..
}
}
问题仍然没有解决。当我刷新页面 dataList 应该变为空,但它保持以前的值。 请建议。 谢谢。
【问题讨论】:
-
你也在使用 JSF 吗?哪个版本?
-
@Luiggi Mendoza - 是 Primefaces4 和 JSF2。
-
这也是你的问题吗? stackoverflow.com/questions/23682105/…
-
@Mark Robinson - 是的,我已经删除了那个帖子。
标签: java jsp jsf primefaces