笔记(Spring里的重定向和转发。)

转发

@Controller
public class Hello7 {

	@GetMapping("hello7")
	public String say(String goods) {
		return "hello7";
	}

这个会跳转到WEB-INF/jsp/hello.jsp文件。
因为我在springmvc-servlet.xml文件中配置了视图解析器,在里面加了前缀和后缀。

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
 </bean>

如果要传参数可以在里面加一个Model,Map,ModelMap对象。

@Controller
public class Hello7 {

	@GetMapping("hello7")
	public String say( Model model,String goods) {
	model.addAttribute( "name","123");
		return "hello7";
	}

Model和ModelMap,Map走的是同一个类是BindingAwareModelMap。

还可以使用ModelAndView方法。

@Controller
public class Hello7 {

	@GetMapping("hello7")
	public ModelAndView say( Model model,String goods) {
	ModelAndView mv = new ModelAndView("hello77");
		String name="abc";
		mv.addObject("name", name);
		return mv;
	}

这里是model和view的。会跳转到hello77,地址就在new的时候放的字符串。

2.使用forword关键字

	@GetMapping("hello8")
	public String say1(String goods) {
		return "foeword:hello8";
	}

这个会转发到hello8的映射地址,不会走视图解析器,所以不会加前缀和后缀。

	@GetMapping("hello8")
	public String say1(String goods) {
		return "foeword:hello8.jsp";
	}

同上,或跳转到根目录下的hello8.jsp

重定向

使用redirect关键字。

@GetMapping("hello8")
	public String say2(String goods) {
	return "redirect:hello8";
	}

页面会跳转到映射地址hello8

@GetMapping("hello8")
	public String say2(String goods) {
		return "redirect:WEB-INF/jsp/hello8";
	}
	

需注意这个地址是不能重定向过去的。因为WEB-INF不能直接访问只能通过转发访问。这样可以使一些文件更加的安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值