专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Spring MVC 教程(九)自定义视图、重定向、转发

一、自定义视图

1、 自定义一个视图HelloView.java,使用@Component注解交给Spring IOC容器处理

 package com.study.springmvc.views;

 import java.util.Date;
 import java.util.Map;

 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.View;
 /**
  * 自定义视图:
  * 把定义好的视图交给Spring IOC容器处理
  * @author lgs
  *
  */
 @Component
 public class HelloView implements View{

     public String getContentType() {
         return "text/html";
     }

     public void render(Map<String, ?> model, HttpServletRequest request,
             HttpServletResponse response) throws Exception {
         response.getWriter().print("hello view, time: " + new Date());
     }

 }

2、 在springmvc.xml里面配置视图 BeanNameViewResolver 解析器: 使用自定义视图的名字来解析视图

 <!-- 配置视图  BeanNameViewResolver 解析器: 使用自定义视图的名字来解析视图 -->
     <!-- 通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 -->
     <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
         <property name="order" value="100"></property>
     </bean>

3、编写handle类SelfDefineViewTest.java

 package com.study.springmvc.handlers;

 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;

 /**
  * 自定义视图测试
  * @author lgs
  *
  */
 @RequestMapping("/selfDefineViewTest")
 @Controller
 public class SelfDefineViewTest {

     @RequestMapping("/testView")
     public String testView(){
         System.out.println("testView");
         return "helloView";
     }
 }

4、 在index.jsp编写测试链接

 <!--自定义视图测试 begin  -->
 <a href="selfDefineViewTest/testView">Test View</a>
 <br><br>
 <!--自定义视图测试 end  -->

5、 效果图

72_1.png

二、重定向/转发

• 一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理

• 如果返回的字符串中带 forward: 或 redirect: 前缀时,SpringMVC 会对他们进行特殊处理:将 forward: 和redirect: 当成指示符,其后的字符串作为 URL 来处理

– redirect:success.jsp:会完成一个到 success.jsp 的重定向的操作

– forward:success.jsp:会完成一个到 success.jsp 的转发操作

1、 编写handle类RedirectForwardTest.java

 package com.study.springmvc.handlers;

 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;

 /**
  * 重定向和转发
  * 
  * @author lgs
  *
  */
 @RequestMapping("/redirectForwardTest")
 @Controller
 public class RedirectForwardTest {

     @RequestMapping("/testRedirect")
     public String testRedirect() {
         System.out.println("testRedirect");
         return "redirect:/index.jsp";
     }
 }

2、 在index.jsp编写测试链接

 <!-- 重定向和转发 begin  -->
 <a href="redirectForwardTest/testRedirect">Test Redirect</a>
 <!-- 重定向和转发 end  -->

3、点击链接以后重定向到index.jsp顶部

https://www.cnblogs.com/leeSmall/category/1093236.html

文章永久链接:https://tech.souyunku.com/13911

未经允许不得转载:搜云库技术团队 » Spring MVC 教程(九)自定义视图、重定向、转发

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们