利用ajax同步获取服务器的数据,当页面加载完成的时候

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<% String path = request.getcontextpath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path; %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
        <Meta charset="UTF-8">
        <Meta name="viewport" content="width=device-width,initial-scale=1" />
        <title>中介门店注册</title>
        <link rel="stylesheet" type="text/css" href="static/css/messageProtect.css" />
        <link rel="stylesheet" type="text/css" href="static/css/reset.css" />

        <link rel="stylesheet" type="text/css" href="static/lib/laydate/need/laydate.css" />
        <script type="text/javascript" src="static/js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript" src="static/lib/laydate/laydate.js"></script>
        <script src="static/js/city2.js"></script>
        <script type="text/javascript" src="static/js/citySelect2.js"></script>
        <script type="text/javascript" src="static/js/messageProtect.js"></script>
        <script type="text/javascript" src="static/js/plugIn.js"></script>
        <script type="text/javascript"> /*当页面加载完成时调用*/ $(document).ready(function(){ getAllSystemData(); }); /*ajax同步发请求(当页面加载的时候)*/ function getAllSystemData(){ $.ajax({ type:"post",/*为post方式*/ async:false,/*开启同步请求,true为异步请求*/ url:"all_system_count",/*url为发请求的url,利用Controller@RequestMapping进行拦截*/ success:function(data){ /*当请求成功之后回调*/ data = eval("("+data+")"); fillSystemInfo(data.root); /*获取json串,并传给这个方法*/ } }); } function fillSystemInfo(data){ var s = "<tr><td>项目总数</td><td>置业顾问总数</td><td>房源总数</td><td>门店总数</td><td>经纪人总数</td><td>合伙人总数</td></tr>"; $.each(data,function(v,o){ /*o为json的数据(后台传过来的)*/ s+='<tr><td>'+o.projectCount+'</td>'; s+='<td>'+o.adviserCount+'</td>'; s+='<td>'+o.houseCount+'</td>'; s+='<td>'+o.shopCount+'</td>'; s+='<td>'+o.agentCount+'</td>'; s+='<td>'+o.partnerCount+'</td></tr>'; }); if(data.length>0){ $("#systemCountInfo").html(s); /*当服务器有数据传送过来,将所有的元素都添加到id为systemCountInfo中*/ }else{ $("#systemCountInfo").html("<br/><span style='width:10%;height:30px;display:block;margin:0 auto;'>暂无数据</span>"); } } </script>
</head>
<body>
    <div class="main-content">
        <div class="house-list">
            <table id="systemCountInfo" style="table-layout:fixed;">

            </table>
        </div>
    </div>
</body>
</html>

后台代码:

/** * 平台管理控制器 * @author cdh * */
@Controller("systemController")
public class SystemController extends BaseController{

    @Resource(name="systemService")
    private SystemService systemService;
    /** * 获取平台管理中项目总数,职业顾问总数... */
    @RequestMapping("all_system")
    public String toSystemPage(){
        return "/all_system_count";
    }

    /*拦截的请求并进行处理*/
    @RequestMapping("all_system_count")
    public void allSystemCount(){
        List<Map<String,String>> list = systemService.getSystemCount();
        if(list != null){
            this.outListString(list);   /*this是继承的BaseController中的将List转换成json串的方法*/
        }

    }
}

Service层:

@Service("systemService")
public class SystemServiceImpl implements SystemService{

    @Resource(name="baseDao")
    private BaseDao baseDao;

    @Override
    public List<Map<String,String>> getSystemCount() {

        List<Map<String,String>> countList = new ArrayList<>();
        Map<String,String> countMap = new HashMap<>();
        /*获取项目总数*/
        List<Project> projectList = baseDao.findByHql("from Project");
        Integer projectCount = projectList.size();
        System.out.println(projectCount);
        /*获取置业顾问总数 role_id=3代表职业顾问*/
        List<Role> roleList = baseDao.findByHql("from Role where id = 3");
        Role role = roleList.get(0);
        Set<User> users = role.getUser();
        System.out.println(users.size());
//      List<User> adviser = baseDao.findByHql("from User where roleId = "+uSet);
        Integer adviserCount = users.size();
//      System.out.println(adviserCount);
        /*获取房源总数*/
        List<House> houseList = baseDao.findByHql("from House");
        Integer houseCount = houseList.size();
        System.out.println(houseCount);
        /*门店总数*/
        List<Shops> shopList = baseDao.findByHql("from Shops where shopStatus = 1");
        Integer shopCount = shopList.size();
        System.out.println(shopCount);
        /*经纪人总数 roleId=1为中介经纪人*/
        List<Role> agentRole = baseDao.findByHql("from Role where id= 1");
        Role r = agentRole.get(0);
        Set<User> agents = r.getUser();
        Integer agentCount = agents.size();
        System.out.println(agentCount);
        /*合伙人总数 6为合伙人*/
        List<Role> partnerRole = baseDao.findByHql("from Role where id = 6");
        Role p = partnerRole.get(0);
        Set<User> partners = p.getUser();
        Integer partnerCount = partners.size();
        /*将所有的元素放入MaP*/
        countMap.put("projectCount",projectCount.toString());
        countMap.put("adviserCount",adviserCount.toString());
        countMap.put("houseCount",houseCount.toString());
        countMap.put("shopCount",shopCount.toString());
        countMap.put("agentCount",agentCount.toString());
        countMap.put("partnerCount",partnerCount.toString());

        /*将Map放入LIst*/
        countList.add(countMap);

        return countList;

    }


}

List转json方法:

public void outListString(List list) {
        String jsonString = null;
        try {
            JSONArray jsonArray = new JSONArray();
            if (list.size() > 0) {
                jsonArray = JSONArray.fromObject(list);
            }
            jsonString = "{total:" + list.size() + ",root:"
                    + jsonArray.toString() + "}";

        } catch (Exception e) {
            e.printstacktrace();
        }
        System.out.println("=============================="+jsonString);
        outString(jsonString);
    }

学习中。。。。。。

AJAX+SpringMVC 获取后台数据的方式的更多相关文章

  1. Swift 字符串替换/过滤/切割/拼接

    替换为/结果过滤过滤掉单个字符/结果过滤掉开头和结尾的空白结果切割对字符串使用/作为分隔符来切割,不允许空字符串使用split函数结果是一个数组对字符串使用/作为分隔符来切割,允许空字符串结果拼接结果

  2. Swift开发教程--字符串的操作

    替换把?替换为/结果

  3. swift 网络搜索热词排行

    1.使用www.showapi.com上的接口,需要注册添加一个App,这样才能获取appid和secret密钥,调用前需要订购套餐(选免费的就可以了);2.外部库Podfile文件内容,SnapKit这里暂时不需要用到:3.桥接头文件参考:http://www.jb51.cc/article/p-pcleyxep-te.html4.AppTransportSecurityhasblockedac

  4. 如何在Swift中打乱数组?

    如何随机化或混洗Swift中的数组中的元素?例如,如果我的数组包括52张扑克牌,我想洗牌,以便洗牌。这个答案详细说明了如何在Swift的各种版本中添加Fisher-Yatesshuffle。Swift3版本是最宽松的,但是它们至少可以用于数组。每个Swift版本的命名和行为与该版本的mutating和nonmutating排序方法相匹配。

  5. unit-testing – 如何在Swift中对NSFetchedResultsController进行单元测试

    我有一个Swift应用程序,它使用NSFetchedResultsController从持久存储中获取List对象:它的工作方式与预期的一样,我将List对象描述打印到控制台.我想为我的应用程序编写一些单元测试,所以我创建了扩展XCTestCase的类.代码编译没有问题,测试运行,但不幸的是我无法在该上下文中获取List对象.我在控制台中获得的所有内容都是List对象的数量和致命错误:线路上升:我

  6. swift – 检查自定义对象数组是否包含特定的自定义对象

    说我有一个非常简单的Person类我希望将一个这样的人的集合存储在一个属性中,该属性是一个Person类的数组,类型为Person也许我实现如下问题:我如何检查people.list是否包含实例alex,好吗?

  7. swift – 使用反射来设置对象属性,而不使用setValue forKey

    在Swift中,不可能使用.setValue(…)>可空类型字段,如Int?>具有枚举类型的属性>一个可空对象的数组,如[MyObject?]这有一个解决方法,也就是通过覆盖对象本身中的UnVersionKey方法的setValue.因为我正在写一个基于反射的通用对象映射器.请参阅EVReflection我想尽量减少这种手动映射.是否有其他方式自动设置这些属性?

  8. Swift Sliceable上的递归

    事实证明,有一个通用的解决方案.您需要添加这些通用要求:对于发布的问题,这给出了:这是任何切片上有用的通用缩减:我不能相信这一点,Apple开发论坛上的解决方案是posted.令人遗憾的是,通用要求如此涉及到这样一个基本操作–它几乎不直观!

  9. uitableview – 使用Swift的“使用未解析的标识符”

    我正在重写我在Swift中的一个应用程序,它显示SouthKohala的实时天气数据.爱Swift到目前为止!

  10. Android Checkbox listview选择全部(禁用/启用)

    参见英文答案>SelectingAllItemsinaListviewoncheckboxselect4个我想禁用/启用listview中的所有复选框.infact想通过单击顶部复选框来选择所有行为.谢谢解决方法这是我最终工作的地方,我正在使用游标适配器,而不仅仅是我的列表项的Arraylistadapter:list.getChildCount不起作用,因为它似乎只计算立即绘制的内容(不是屏幕外

随机推荐

  1. Ajax+SpringMVC requestBody

    ajax+SpringMVC经验证,上文写的是比较正确的,所以转过来保存一下.传JSON对象前端后端传JSON字符串+@RequestBody接收前端后端

  2. H5FormData+AJAX+SpringMVC跨域异步上传文件

    最近都没时间整理资料了,一入职就要弄懂业务,整天被业务弄得血崩。总结下今天弄了一个早上的跨域异步上传文件。主要用到技术有HTML5的FormData,AJAX,SpringMVC。注意这个upload.js是自己写的,里面那个ajaxFileUpload并不是jQuery提供的那个上传插件的方法。服务端接口写法:@ResponseBody@RequestMappingpublicvoidaddPicthrowsIOException{System.out.println;response.getWrite

  3. Ajax异步提交List对象,SpringMvc如何接收?

    Springmvc的一个问题一直被广大开发者所诟病,就是在list对象的转换上一直并不是特别好用,网上很多解决方法关于不同的表单提交方式这里就不多说了,只介绍下ajax方式提交list对象的方法。比如你要通过ajax传递下面一段数据到controller:如果像下面这样写肯定是无法传递到后端的:这样肯定会报错User找不到之类的,那么怎么解决呢?

  4. ajax json异步springmvc http请求返回状态码为406的解决

    是因为缺少json相关jar包,网上很多人只是给出了前两个jar,其实不全,依旧406,应该给出四个

  5. AJAX和SpringMVC交互

    AJAX利用jquerySPRING

  6. ajax与springmvc传参方式总结

    若传递的是数组对象,需要用第二种方式,否则失败。①前台$.ajax;后台:@RequestMapping@ResponseBodypublicStringdel{return"";}如果不加Traditional,通过观察浏览器中发送的请求,可以发现参数如下:newArray[]:delArray[]:可以看到,参数的名字为newArray[]而不是我们所定义的newArray,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。

  7. ajax传递json参数到springmvc

    前后端交互,经常出现400或者415,这里写个小笔记,已做参考,不断完善方式一:前台代码:后台代码:

  8. $.ajax与SpringMVC的那点事-传参与返回

    由于有@RresponseBody标示,SpringMVC会将头信息中的Content-Type:application/x-www-form-urlencoded(默认值)改为application/json;,即返回为JSON格式,所以ajax的dataType:"json"可有可无。

  9. AJAX+JQuery+SpringMVC实现图片上传

    利用ajax实现前端与后台的交互,从服务端获取数据,并调回到前端进行解析。下面是前端代码:下面上后端的代码:Controller层Service层:DAO层:以上都是获取数据的部分,下面是提交数据的代码:Controller:Service:这个是文件上传的关键部分以上

  10. AJAX+SpringMVC 获取后台数据的方式

    利用ajax同步获取服务器的数据,当页面加载完成的时候后台代码:Service层:List转json方法:学习中。。。。。。

返回
顶部