hibernate 用combobox+grid panel做动态组合查询,grid panel 不显示数据的问题

lyj57 2013-08-29 11:36:04
我主要使用extjs中的combobox+grid panel做动态组合查询,在web层可以通过下面的代码获取combobox控件的值并传到后台
package cn.edu.bnu.land.web;

import java.io.IOException;




import java.util.HashMap;
import java.util.List;
import java.util.Map;




import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import cn.edu.bnu.land.common.SpringContextHolder;
import cn.edu.bnu.land.model.Transinfo;
import cn.edu.bnu.land.model.TransinfoHome;
import cn.edu.bnu.land.service.TransinfoService;



@Controller
public class TransinfoController {
private TransinfoService transinfoService;


@Autowired
public TransinfoController(TransinfoService transinfoService) {
this.transinfoService = transinfoService;
}
@RequestMapping(value = "/find_transinfo")
@ResponseBody
public List<Transinfo> handle(@RequestBody Transinfo transinfo) throws IOException
{


System.out.println("web before");
System.out.println(transinfo.getArea()+ transinfo.getAcre() + transinfo.getPrice());
//this.transinfoService.findtransinfo(transinfo);
List<Transinfo> myList= this.transinfoService.findtransinfo(transinfo);

for(Transinfo mytransinfo:myList){
System.out.println("List:"+mytransinfo.getLandid());
}

return (myList);

}
}



在model层可以通过下面的代码实现查询,控制台也可以打印出结果,但是grid panel 里没有显示
public List<Transinfo> searchInfo(Transinfo transinfo){
System.out.println("Home_before");
//String outArea = "重庆";
String outArea = transinfo.getArea();

System.out.println(outArea);
List<Transinfo> results = null;

Session session = sessionFactory.getCurrentSession();
DetachedCriteria dc = DetachedCriteria.forClass(Transinfo.class);
//对区域进行判断查询
if (outArea != null){
dc.add(Restrictions.ilike("area", outArea,MatchMode.ANYWHERE));
}
Criteria c = dc.getExecutableCriteria(session);
results = c.list();
for(Transinfo t:results){
System.out.println(t.getLandid());
}


return results;

}


如果我将web层中的
public List<Transinfo> handle(@RequestBody Transinfo transinfo) throws IOException
修改为public List<Transinfo> handle(Transinfo transinfo) throws IOException 获取不到控件值(始终都为null),但是grid可以显示查询结果(这是因为transinfo.getArea=null,所以查询结果为数据库全部内容)。这是怎么回事??我要怎么解决这个问题啊?
...全文
61 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧