我有一个报告生成页面,其中有一些过滤器,如countryId
、Date
和其他一些参数供用户选择。现在根据所选择的参数,有一个数据库调用使用这些参数来获取结果列表。
现在托管的 bean 包含所有这些搜索参数和结果列表。让我们将此 bean 命名为 Bean1
。
public class Bean1 implements Constants{
private List<SelectItem> countryList;
private List<String> choosenCountryList;
private List<String> choosenProgramList;
private String invoiceDatePriorTo= CalendarUtilities.getTodaysDate() ;
private List<CustomResults> searchResultList
}
我们还有一个托管Bean Bean2
,其中包含一个属性 Bean1
public class Bean2 implements Constants {
private Bean1 bean1;
public getSearchResults(){
//Code for fetching the search list for bean 1
this.setsearchResultList() //=fetched list from DB;
}
public modifySearchResults(){}
}
现在,在由JSF页面触发操作时,我们调用getSearchResults()
方法,并将searchResultList
设置为在屏幕上显示。通过这种方式,我们能够在屏幕上显示搜索列表。
现在,我们得到的列表受用户在屏幕上的修改影响。当我们再次调用modifySearchResults
以编辑列表时,由于托管bean处于请求范围内,因此无法在bean2中检索列表。
有人可以告诉我如何解决这个问题吗?