qq_303453672 2017-05-12 05:52 采纳率: 12.5%
浏览 2999
已采纳

Springmvc与ajax交互返回各种值问题

前台js
后台Controller
怎样才能拿到int n,用了好几种方法一直为null,我要用n来判断~~~~~~~~springmvc与ajax交互怎么这么复杂,Struts2好简单,想转springmvc,大神跟我说说返回值String,int,Json怎么返回啊

  • 写回答

6条回答 默认 最新

  • qq_29840857 2017-05-12 06:33
    关注

    根据你提供的代码 我总结了 springmvc 的集中返回方式
    第一种:使用springmvc的ModelAndView对象
    第二种:封装一个map对象并返回
    第三种:使用springmvc的Model对象
    第四种:使用注解@ResponseBody方式
    为了简化,我每一种方法我只举一个例子(其实每一种的实现方式是很多的)
    第一种:使用springmvc的ModelAndView对象
    ModelAndView modelAndView = new ModelAndView("/user/index");

    modelAndView.addObject("name", "xxx");

    return modelAndView;
    创建ModelAndView视图对象,"/user/index"是你要返回哪一个视图所使用的方式
    第二种:封装一个map对象并返回
    Model一个模型对象,主要包含spring封装好的model和modelMap,以及java.util.Map
    Map map = new HashMap();

    map.put("1", "1");

    //map.put相当于request.setAttribute方法

    return map;
    这种方式我没有试过 ,不过应该是可以的
    第三种:使用springmvc的Model对象
    这种方式比较常用,具体的实现方式请看下面
    public String index(Model model) {

    String retVal = "user/index";

    User user = new User();

    user.setName("XXX");

    model.addAttribute("user", user);

    return retVal;

    }

    第四种:使用注解@ResponseBody方式
    这种方式是我们常用来返回json,xml等等数据格式的数据时使用的建议使用这种方式
    @ResponseBody

    public String valid(@RequestParam(value = "userId", required = false) Integer userId,

    @RequestParam(value = "name") String name) {

    return String.valueOf(true);

    }

    综上所述,基本上的问题都可以解决,
    你使用的是用printWriter直接返回数据流,这种方法也是可以的,但是要注意的是 编码集格式要注意否则会出现中文乱码的情况
    我看了下你的返回代码,不知道printWriter对象是否拿到了,我没这么拿过,响应时我都是使用response对象去拿这个对象
    还有就是需要这一的问题是ajax需要设置下返回的数据类型,好像是“dataType”记得不是太清楚了 你可以试一试,我目前能想到的也就这么多了

    这金币挣得真不容易啊!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题