zoukankan      html  css  js  c++  java
  • JS接收controller返回的list,map

    方式一:

    实体

    public class MeetingInfo {
    
    private String id;
    private String meetingName; // 会议名称
    private String meetingType; // 会议类型
    private String proposer; // 会议发起人id
    private String meetingRoomId; // 会议室id
    private String meetingAddress; // 自定义会议地址
    private String meetingContent; // 会议内容
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//页面写入数据库时格式化
    @JSONField(format="yyyy-MM-dd HH:mm:ss")//数据库导出页面时json格式化
    private Date beginDate; // 会议开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //页面写入数据库时格式化
    @JSONField(format = "yyyy-MM-dd HH:mm:ss") //数据库导出页面时JSON格式化
    private Date endDate; // 会议结束时间
    private Integer meetingNum; // 会议应到人数
    private Integer reminder; // 提醒方式
    private Integer meetingStatus; // 会议状态
    。。。。。。省略geter/setter

    后台

    @ResponseBody
    @RequestMapping(value = "/test",method = RequestMethod.POST)
    public List<MeetingInfo> test(){ 
    List<MeetingInfo> list = new ArrayList<>();
    MeetingInfo m1 = new MeetingInfo();
    m1.setId("123");
    m1.setMeetingName("发顺丰");
    m1.setBeginDate(new Date());
    MeetingInfo m2 = new MeetingInfo();
    m2.setId("123fdsa");
    m2.setMeetingName("法第三方第三方");
    m2.setBeginDate(new Date());
    list.add(m1);
    list.add(m2);
    return list;
    }

    JS
    JS接收List

    1、使用数组转换

    //添加ajax访问后台
    $.ajax({
    async : false,
    cache : false,
    type:'POST',
    url:requestPath ,
    
    //contentType : "application/json;charset=utf-8",
    success:function (result) {
    var arr = [];
    for(var item in result){
    arr.push(result[item]);
    }
    for (var i = 0; i < arr.length; i++) {
    alert(arr[i].id);
    alert(arr[i].meetingName);
    }
    
    }
    });

    2、使用eval()
    步骤:将List 转成json,传到界面。js中使用eval(result)将list转成js数组。

    //添加ajax访问后台
    $.ajax({
    async : false,
    cache : false,
    type:'POST',
    url:requestPath ,
    
    //contentType : "application/json;charset=utf-8",
    success:function (result) {
    
    //将List 转成json,传到界面。js中使用eval(result)将list转成js数组。
    var s = JSON.stringify(result);
    var keyList = eval(s);
    for (var i = 0; i < keyList.length; i++) {
    alert(keyList[i].id);
    alert(keyList[i].meetingName)
    
    }
    }
    });

    方式二:

    Controller

     /**
          * 上架/下架
          * @param id  楼盘id
          * @param status  状态  2:下架    1:上架
          */
         public void setShiefStatus(@Read(key="id") final String id,@Read(key="status" ) final Integer status){
                this.filterException("setShief", new MethodCallBack(){
                    @Override
                    public String doProcessMethod() throws Exception {
                        String userId = SysUtils.getPrincipal().getId();
                        
                        
                        String result =    nhStageIService.setShiefStatus(id,userId,status);
                        renderText(result);
                        return null;
                    }
                 });
         }

    services

        if(ls==null||ls.size()==0){
                    Map<String,Object> rs = new HashMap<String, Object>();
                    rs.put("success", false);
                    rs.put("msg", "请上传效果图并设置首图!");
                    return JSON.toJSONString(rs);
                }

    renderText

    protected void renderText(String text) {
            try {
                HttpServletResponse response = this.innerGetResponse();
                response.setContentType("text/plain;charset=UTF-8");
                response.getWriter().write(text);
                response.flushBuffer();
            } catch (IOException var3) {
                this.logger.error(var3);
            }
    
        }

    js

                            data = eval('('+data+')');
                            if(data.success==false){
                                jboxAlert(data.msg);
                            }else{
                                jboxAlert('发布楼盘失败,请重试!');
                            }
    //弹出提示信息
    function jboxAlert(messages){
        top.$.jBox.alert(messages, "提示");
    }
  • 相关阅读:
    java基础—GUI编程(一)
    java基础—数组
    java基础—异常处理
    java基础—面向对象
    多线程(二)
    多线程(一)
    ORACLE数据库SQL语句的执行过程
    Jetty直接调试,不用部署,不用弄一些杂七杂八的设置
    (2.1)servlet线程安全问题
    (3)tomcat源代码分析环境的搭建
  • 原文地址:https://www.cnblogs.com/pypua/p/12336339.html
Copyright © 2011-2022 走看看