SpringMVC controller 方法里如何返回JSON消息或跳转页面?

根据执行情况或返回消息或跳转页面:
[code="java"]
@RequestMapping(value = "/signin", method = RequestMethod.POST)
@ResponseBody
public String signin(String code, String password, ModelMap model){
String message = "";
User user = new User();
if(!code.equalsIgnoreCase("000001"))
message = "code:帐号不存在";

    else if(!password.equalsIgnoreCase("123"))
        message = "password:密码错误";

    else{
        model.addAttribute(Constants.SESSION_USER, user);
        message =  "redirect:index.html";
    }
    return message;
}

[/code]

代码不能这样写...不好看 :wink:
又要返回字符串,又要跳转,
在springMVC中不支持这样,重新设计吧,
可以看一下spring mvc 的文档,
@ResponseBody已表明你要返回字符流了,
你又要redirect...

1.0 跳转:
@RequestMapping(value = "/signin", method = RequestMethod.POST)

public String signin(String code, String password, ModelMap model){

return “页面”;

}

就这样啊! 要返回 json 的话 去我空间看下有个帖子 !!

@RequestMapping(value = "/updateDepartState/{id}", method = RequestMethod.GET)
public ResponseEntity deleteDepart(HttpServletRequest request,
HttpServletResponse response, @PathVariable("id")
Integer id) throws Exception {
JSONObject json = JsonCommon.getJsonObject();
try {
if (departService.updateDepartState(id)) {
json.put("success", true);
json.put("msg", "删除机构成功!");
} else {
json.put("success", false);
json.put("msg", "删除机构失败!");
}
} catch (Exception ex) {
ex.printStackTrace();
}
ResponseEntity re = new ResponseEntity(json.toString(),
Global.getHttpHeaders(), HttpStatus.OK);
return re;
}
我项目正在用,你参考下吧

补充下:JSON就是一个字符串,你主要是把它正确返回回去就可以了!也不知道你前面是用的什么?EXT,FLX

/**
* 这就是一个servlet
*/
@RequestMapping(value = "/test")
public void testServlet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
JSONObject json =new JSONObject();
String ss="11111";
if(!"dizhi".equals(ss)){
json.accumulate("1",ss);
response.getWriter().print(json.toString());
}else if(ss==null&&"".equals(ss)){

        response.sendRedirect("www.baidu.com");
    }else {
        request.getRequestDispatcher("/sspingjiededizhi").forward(request,response);
    }
}