同一个页面,两次请求保证查询条件不变(题目不太相符,我比较渣,问题都不知道怎么表述!--)
需求描述:进入页面,select下拉框可以选择条件填充项(动态获取),同时页面下方会有全部的信息列表,select下拉框选一个条件后查询,页面下方会展示符合条件的信息列表并且覆盖原来的全部信息列表,并且select下拉框还是能够获得原来的条件填充项。
解决思路:进入页面时把select下拉框的填充项在后台带过来(用map最好),选择完条件查询条件,点击查询的时候,后台会传过来两个东西(比如说一个map 一个list),map用来携带select下拉框的填充项,list是条件查询的结果列表。
代码:
public String queryDict(ModelMap modelMap){
List<SysDict> list = null;
String dName = (String) getRequest().getParameter("dictName");
List<SysDict> l = null;
try {
if(dName != null && dName != ""){
list = sysDictService.queryDict(dName);//条件查询的list
}else{
list = ohSysDictService.findCondition();//如果无条件,全查询
}
l = sysDictService.findCondition();//获取select的填充项
} catch (Exception e) {
e.printStackTrace();
}
SysDict dict = null;
Map<String, String> selectMap = new HashMap<String, String>();
if(!l.isEmpty() && l.size()>0){//把select填充项放到map中
for(int i = 0; i < l.size(); i++){
dict = l.get(i);
String dictId = dict.getDictId();
String dictName = dict.getDictName();
selectMap.put(dictId,dictName);
}
}
modelMap.addAttribute("selectMap",selectMap);//查询条件填充项集合
modelMap.addAttribute("list",list);//条件查询结果
return VIEW_PATH + "/list";
}
说明:这个方法是条件查询的方法,返回的selectMap和刚进入页面时后台带过来的内容都一样!都是用来完成select条件填充项的。