Ajax异步加载
//第一步 使用@Expose查找 //实体类的属性名不一定与数据库列名相同,但是类型一定要匹配 //当使用gson进行生产json字符串时,可以通过判断是否有该注解生成字 符串内容 //如由注解就添加到字符串中,没有的就不添加到json字符串中 //说明:需要使用如下方式实例化gson对象:new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); @Expose private int id; @Expose private String cname; //使用集合保存多条商品信息--list private List<Goods> goods; //第二步 编写一个Action @RequestMapping("/listcategory") public void listCategoryForAjax(HttpServletResponse response) throws IOException { List<Category> list = categoryService.findAll(); // 通过Expose注解排除某些字段信息,即有些数据不添加到Json字符串中 String s = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create().toJson(list); logger.info(list.size() + " ::::::::: " + s); // 把数据返回给浏览器--返回给jquery ui response.setContentType("text/html; charset=UTF-8"); response.getWriter().write(s); response.getWriter().flush(); } //第三步 添加标签 <select id="category" name="category" class="easyui-combobox" data-options="valueField:\'id\', textField:\'cname\', panelHeight:\'auto\', width:\'80\'"> //第四步 编写javaScript代码 var url; //打开新增窗口 function newGoods(){ $(\'#dlg\').dialog(\'open\').dialog(\'setTitle\',\'新增商品\'); //$(\'#fm\').form(\'clear\'); $(\'#fm\').form(\'reset\'); url = \'goods/saveGoodsForAjax.do\'; //打开新增窗口,加载分类信息 loadCategory(); } function loadCategory(){ var dat = $(\'#dg\').datagrid(\'getSelected\'); $.ajax({url:"goods/listcategory.do",dataType:\'json\',type:\'post\',success:function(data){ //把查询的数据填充到下拉列表中 $("#category").combobox("loadData", data); //修改选择的项 if(dat){ //修改要反选默认值--根据value进行选择 $(\'#category\').combobox(\'select\', dat.category); }else{ //新增取第一个为默认值--根据value进行选择 $(\'#category\').combobox(\'select\', data[0].id); } }}); }
版权声明:本文为bingo584235807原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。