Ajax异步加载
Posted binbgo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); } }}); }
以上是关于Ajax异步加载的主要内容,如果未能解决你的问题,请参考以下文章