RestFul风格的程序如何跳转页面呢?

RestFul风格的程序如何跳转页面呢?

RestFul风格就是直接返回JSON格式的字符串吧?
那如何实现页面的跳转呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、是的,一般是返回json类型的字符串。

2、 数据跳转方式:3种方式。

1)设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 。

public class ControllerTest1 implements Controller {
   public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
       //返回一个模型视图对象
       ModelAndView mv = new ModelAndView();
       mv.addObject("msg","ControllerTest1");
       mv.setViewName("Hello");
       return mv;
  }
}

2)通过设置ServletAPI 

@Controller
public class ResultGo {
   @RequestMapping("/test/t1")
   public void test1(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
       rsp.getWriter().println("测试1");
  }
   @RequestMapping("/test/t2")
   public void test2(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
       //重定向
       rsp.sendRedirect("/index.html");  
  }
   @RequestMapping("/test/t3")
   public void test3(HttpServletRequest req, HttpServletResponse rsp) throws Exception {
       //转发
       req.setAttribute("msg","测试2");
       req.getRequestDispatcher("/WEB-INF/jsp/test.html").forward(req,rsp);
  }

}

3)通过SpringMVC来实现转发和重定向。

@Controller
public class ResultSpringMVC {
   @RequestMapping("/test1")
   public String test1(){
       //转发一
       return "/index.html";
  }

   @RequestMapping("/test2")
   public String test2(){
       //转发二
       return "forward:/index.html";
  }

​   @RequestMapping("/test3")
   public String test3(){
       //重定向
       return "redirect:/index.html";
  }
}

注:在后期课程中会详细运行,同学现阶段了解一下即可,在后期可以详细学习。

祝学习愉快!

  • 谁叫我这么坏 提问者 #1

    ​那也就是RestFul风格返回JSON格式的字符串时不能同时实现跳转?

    2021-03-23 19:15:47
  • 同学你好,是可以的,同学可以将msg处的数据修改为json字符串。如下图所示:

    http://img1.sycdn.imooc.com//climg/605a9b5d0959480107540228.jpg

    注:json字符串需要在js代码中进行处理,所以在页面跳转时,并不需要返回json字符串。

    祝学习愉快!

    2021-03-24 09:55:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师