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 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决