ssm把后端数据传到前端_59-ssm 后台传HashMap数据到前端(json数据)

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

@RequestMapping(value = {"addsavePaper2"})

@ResponseBody

public HashMap addsave2(@RequestBody String paper, Model model) {

HashMap map = new HashMap();

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 oplist = new ArrayList();

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();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值