spring contrallor类的方法的3种返回值



  1.spring contrallor类的方法通常有3种返回值:
    1).String类型,默认的使用请求转发方式进行页面的跳转,如果要进行重定向需要使用redirect标记
         @RequestMapping("/hello")
public String sayHello() {
logger.info("sayHello....");
return "hellosmvc";// 使用jsp页面的名称进行返回,默认是请求转发
}


        @RequestMapping("/hello7")
public String sayHello7() throws IOException{
logger.info("sayHello7....");
//spring mvc默认的跳转方式是请求转发,本例使用servlet方式实现重定向功能
return "redirect:index.jsp";
}

//@ResponseBody返回指定的字符串
@RequestMapping("/hello9")
@ResponseBody
public String sayHello9() throws IOException {
logger.info("sayHello7....");
// spring mvc默认的跳转方式是请求转发,本例使用servlet方式实现重定向功能
return "{\"result\":success}";
}

 ::::::注意:请求转发使用页面的名称进行跳转,重定向使用全路径进行跳转
   2).void类型:返回void类型一般有3中处理方法
       a).直接返回内容
        @RequestMapping("/hello5")
public void sayHello5(HttpServletResponse response) throws IOException {
response.setContentType("text/html; charset=UTF-8");
response.getWriter().append("使用reponse对象返回数据到浏览器或客户端");
response.getWriter().close();
}
  b).使用servlet方式实现请求转发
       @RequestMapping("/hello8")
public void sayHello8(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 使用servlet方式实现请求转发
request.getRequestDispatcher("index.jsp").forward(request, response);
}
c).使用servlet方式实现重定向
  @RequestMapping("/hello6")
public void sayHello6(HttpServletResponse response) throws IOException {
logger.info("sayHello6....");
// spring mvc默认的跳转方式是请求转发,本例使用servlet方式实现重定向功能
response.sendRedirect("index.jsp");// 注意:重定向时,返回的地址是完整的url地址
}
   
   
   3).ModelAndView类型:
     @RequestMapping("hello2")
public ModelAndView sayHello2() {
logger.info("sayHello2....");
ModelAndView view = new ModelAndView();
view.setViewName("hellosmvc");// 使用jsp(模版)页面的名称进行返回
view.addObject("msg", "我来自sayHello2");// 返回ModelAndView时,如何传递数据到页面,默认的作用域是request
return view;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值