//第一步 使用@Expose查找//实体类的属性名不一定与数据库列名相同,但是类型一定要匹配//当使用gson进行生产json字符串时,可以通过判断是否有该注解生成字 符串内容//如由注解就添加到字符串中,没有的就不添加到json字符串中//说明:需要使用如下方式实例化gson对象:new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); @Exposeprivate int id;@Exposeprivate 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 uiresponse.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);}}}); }