200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > SpringMVC系列(九)自定义视图 重定向 转发

SpringMVC系列(九)自定义视图 重定向 转发

时间:2022-04-23 15:33:14

相关推荐

SpringMVC系列(九)自定义视图 重定向 转发

一、自定义视图

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

1 package com.study.springmvc.views; 2 3 import java.util.Date; 4 import java.util.Map; 5 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 9 import org.ponent;10 import org.springframework.web.servlet.View;11 /**12 * 自定义视图:13 * 把定义好的视图交给Spring IOC容器处理14 * @author lgs15 *16 */17 @Component18 public class HelloView implements View{19 20public String getContentType() {21 return "text/html";22}23 24public void render(Map<String, ?> model, HttpServletRequest request,25 HttpServletResponse response) throws Exception {26 response.getWriter().print("hello view, time: " + new Date());27}28 29 }

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

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

3.编写handle类SelfDefineViewTest.java

1 package com.study.springmvc.handlers; 2 3 import org.springframework.stereotype.Controller; 4 import org.springframework.web.bind.annotation.RequestMapping; 5 6 /** 7 * 自定义视图测试 8 * @author lgs 9 *10 */11 @RequestMapping("/selfDefineViewTest")12 @Controller13 public class SelfDefineViewTest {14 15@RequestMapping("/testView")16public String testView(){17 System.out.println("testView");18 return "helloView";19}20 }

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

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

5. 效果图

二、重定向/转发

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

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

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

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

1.编写handle类RedirectForwardTest.java

1 package com.study.springmvc.handlers; 2 3 import org.springframework.stereotype.Controller; 4 import org.springframework.web.bind.annotation.RequestMapping; 5 6 /** 7 * 重定向和转发 8 * 9 * @author lgs10 *11 */12 @RequestMapping("/redirectForwardTest")13 @Controller14 public class RedirectForwardTest {15 16 17@RequestMapping("/testRedirect")18public String testRedirect() {19 System.out.println("testRedirect");20 return "redirect:/index.jsp";21}22 }

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。