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

Springmvc与ajax交互返回各种值问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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”记得不是太清楚了 你可以试一试,我目前能想到的也就这么多了这金币挣得真不容易啊!!!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报