好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SpringMVC响应视图和结果视图详解

1、返回字符串,Model传输数据

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/**

      * 返回String

      * @param model

      * @return

      */

     @RequestMapping ( "/testString" )

     public String testString(Model model){

         System.out.println( "testString方法执行了..." );

         // 模拟从数据库中查询出User对象

         User user = new User();

         user.setUsername( "美美" );

         user.setPassword( "123" );

         user.setAge( 30 );

         // model对象

         model.addAttribute( "user" ,user);

         return "success" ;

     }

2、void(不经常使用)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

/**

      * 是void

      * 请求转发一次请求,不用编写项目的名称

      */

     @RequestMapping ( "/testVoid" )

     public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception {

         System.out.println( "testVoid方法执行了..." );

         // 编写请求转发的程序

         // request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);

         // 重定向

         // response.sendRedirect(request.getContextPath()+"/index.jsp");

         // 设置中文乱码

         response.setCharacterEncoding( "UTF-8" );

         response.setContentType( "text/html;charset=UTF-8" );

         // 直接会进行响应

         response.getWriter().print( "你好" );

         return ;

     }

3、返回ModelAndView完成跳转页面和传输数据

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

/**

     * 返回ModelAndView

     * @return

     */

    @RequestMapping ( "/testModelAndView" )

    public ModelAndView testModelAndView(){

        // 创建ModelAndView对象

        ModelAndView mv = new ModelAndView();

        System.out.println( "testModelAndView方法执行了..." );

        // 模拟从数据库中查询出User对象

        User user = new User();

        user.setUsername( "小凤" );

        user.setPassword( "456" );

        user.setAge( 30 );

        // 把user对象存储到mv对象中,也会把user对象存入到request对象

        mv.addObject( "user" ,user);

        // 跳转到哪个页面

        mv.setViewName( "success" );

        return mv;

    }

4、forward转发

?

1

2

3

4

5

6

7

8

9

10

/**

     * 使用关键字的方式进行转发

     * @return

     */

    @RequestMapping ( "/testForwardOrRedirect" )

    public String testForwardOrRedirect(){

        System.out.println( "testForwardOrRedirect方法执行了..." );

        // 请求的转发

        return "forward:/WEB-INF/pages/success.jsp" ;

    }

5、redirect重定向

?

1

2

3

4

5

6

7

8

9

10

/**

      * 使用关键字重定向

      * @return

      */

     @RequestMapping ( "/testForwardOrRedirect" )

     public String testForwardOrRedirect(){

         System.out.println( "testForwardOrRedirect方法执行了..." );

         // 重定向

         return "redirect:/index.jsp" ;

     }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/weixin_43888891/article/details/108743779

查看更多关于SpringMVC响应视图和结果视图详解的详细内容...

  阅读:27次