• 59-ssm 后台传HashMap数据到前端(json数据)


    一般,直接传HashMap格式就可以了。

    	@RequestMapping(value = {"addsavePaper2"})
    	@ResponseBody
    	public HashMap<String, String> addsave2(@RequestBody String paper, Model model) {
    		HashMap<String, String> map = new HashMap<String, String>();
    		map.put("code", "0");	
    		map.put("info", "2");
    		return map;
    	}
    

      

    但是如果map的值是中文可以能传不过去!!!

     所以可以存在对象里面,注意如果对象里面没有中文,也可以直接发给前端,如果有中文的话,

    可以先转为json然后toString, 以string的形式传过来。

    	@RequestMapping(value = {"addsaveAQuestion2"})
    	@ResponseBody
    	public String addsaveQuestion2(@RequestBody String body, Model model) {
    		
    		RO ro = new RO();
    		
    		ro.setCode("hhh");
    		ro.setInfo("sdf------返回");
    		
    		System.out.println("------返回:" + ro);
    		System.out.println("data:" + ro);
    		
    		JSONObject json=JSONObject.fromObject(ro);
    		
    		return json.toString();
    	}
    

     

    上面用的json包是:net.sf.json.JSONArray

    下面给以json 互传的例子:

            //保存
            function save(obj){       //保存并提交问题
                var paperid = $("#Mytheme").data("paperid");  //问卷id
                var qid = $(obj).parents(".problems-item").index(); //问题顺序id
                var problem_content = $(obj).parents(".problems-item").find(".problem-tittle").children("input").val();
                console.log("问题:" + problem_content);
                var ismust = $(obj).parents(".problems-item").find("#ismust").val();
                var type = $(obj).parents(".problems-item").data("type"); //单选or多选
                var min_num =$(obj).parents(".problems-item").find("#min_num").val();
                var max_num =$(obj).parents(".problems-item").find("#max_num").val();
                var option = $(obj).parents(".problems-item").find(".options-item");
                var d = {};  //存放选项
                option.each(function(){
                    name  = $(this).index();
                    value = $(this).find(".opvalue").val();
                    d[name] = value;
                });
                                //传值
                $.ajax({
                    type : "POST",
                    url  : '${ctx}/paper2/addsaveAQuestion', 
                    data : JSON.stringify({
                       //"paperid":paperid,
                       "paperid": ${ paper.id },
                        "qid":qid,
                        "option":JSON.stringify(d),
                        "content":problem_content,
                        "ismust":ismust,
                        "type":type,
                        "min_num":min_num,
                        "max_num":max_num
                    }),
                    contentType : "application/json",
                    cache : false,
                    success : function(data){
                       //alert("测试返回值");
                	   //alert(data);
                	   data =JSON.parse(data);
                	   //alert(data);
                       if (data.code == 0) {
                    	    alert("提交成功");
                            msg('提交成功~');
                       } 
                       else {
                    	    alert("提交失败:" + data.info);
                            msg('提交失败:' + data.info);
                       }
               		}
                 });
            };
    

      

    	@RequestMapping(value = {"addsaveAQuestion"})
    	@ResponseBody
    	public String addsaveQuestion(@RequestBody String body) {
            JSONObject jsonObject = JSONObject.fromObject(body);  
            
            String msg = "";
            // 提取题目:
            Question2 que = new Question2();
            try {
            	que.setQid(Integer.valueOf(jsonObject.getString("qid")));
                que.setPaperId(Integer.valueOf(jsonObject.getString("paperid")));
                que.setContent(jsonObject.getString("content"));
                que.setLevel(UserUtils.getSysLevel());
                que.setIsmust(Integer.valueOf(jsonObject.getString("ismust")));
                que.setType(Integer.valueOf(jsonObject.getString("type")));
                que.setMinNum(Integer.valueOf(jsonObject.getString("min_num")));
                que.setMaxNum(Integer.valueOf(jsonObject.getString("max_num")));
    		} catch (Exception e) {
    			// TODO: handle exception
    			msg = "题目数据不全";
    		}
            
            // 提取选项
            String option = jsonObject.getString("option"); 
            JSONObject job2 = JSONObject.fromObject(option);
            int len = job2.size();
            List<PaperOption2> oplist = new ArrayList<PaperOption2>();
    		for(int i = 0; i < len; i++) {
    			PaperOption2 op = new PaperOption2();
    			try {
    				op.setContent(job2.getString(i + "")); // 提取选项的内容
    			} catch (Exception e) {
    				// TODO: handle exception
    				msg = "选项不能为空";
    			}
    			op.setOrderid(i);
    			oplist.add(op);
    		}
    //		System.out.println("oplist: " + oplist);
            
    		// 添加题目和选型到数据库:
    		paperService.addQues(que, oplist);  // 添加题目
    		
    		RO ro = new RO();
    		if(!"".equals(msg)) { // 添加问题出错了
    			ro.setCode("1");
    			ro.setInfo(msg);
    		}
    		else {
    			ro.setCode("0");
    			ro.setInfo("提交成功!");
    		}
    		JSONObject jObject = JSONObject.fromObject( ro );
    		System.out.println("返回数据:" + jObject);
    		 
    		return jObject.toString();
    	}
    

      

  • 相关阅读:
    YTU 2802: 判断字符串是否为回文
    YTU 2392: 求各位数字之和
    YTU 2391: 求素数
    HDU 2064:汉诺塔III
    HDU 2187:悼念512汶川大地震遇难同胞——老人是真饿了
    HDU 2036:改革春风吹满地
    HDU 1081:To The Max
    HDU 1257:最少拦截系统
    YTU 2425: C语言习题 输出月份
    YTU 2420: C语言习题 不等长字符串排序
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11135352.html
Copyright © 2020-2023  润新知