SpringMVC如何转发及重定向(forward、redirect)

  • 返回值为字符串时,默认为视图名称。
  • 当返回值字符串是以”forward:”或者”redirect:”开头,则会被认为是转发或者重定向。

使用方式如下:

  • 转发:forward:/hello/show.do或者forward:show.do
  • 重定向:redirect:/hello/show.do或者redirect:show.do

注意:后面必须跟上URL路径而非视图名

转发地址栏不变
在这里插入图片描述
重定向地址栏变化
在这里插入图片描述
变化后
在这里插入图片描述

在这里插入图片描述

TestController11.java

package com.deng.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//jstl的用法
@Controller
public class TestController11 {

    //转发
    @RequestMapping("show28")
    public String test28(){
        return "forward:/show29.do?type=forward";
    }

    @RequestMapping("show29")
    public String test29(Model model,@RequestParam("type") String type){
        model.addAttribute("msg11", "转发或重定向:type=" + type);
        return "forword_redirect";
    }

    //重定向
    /**
     * 重定向到/show29.do
     * @return
     */
    @RequestMapping("show30")
    public String test30(){
        return "redirect:/show29.do?type=redirect";
    }
}

forword_redirect.jsp

<%--
  Created by IntelliJ IDEA.
  User: U100926
  Date: 2022/09/02
  Time: 14:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<span style="font-size:30px; color:darkgreen;">${msg11}</span>
</body>
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringMVC提供了两种方式来实现重定向转发:逻辑视图名和重定向/转发关键字。 1. 逻辑视图名实现重定向转发 重定向转发可以通过在处理器方法中返回逻辑视图名实现。具体实现方式如下: - 转发:在处理器方法中返回逻辑视图名,SpringMVC会将逻辑视图名解析为对应的视图对象,并将请求转发到该视图。 ```java @RequestMapping("/forward") public String forward() { return "forward:/some/other/url"; } ``` - 重定向:在处理器方法中返回逻辑视图名,并在逻辑视图名前加上"redirect:"前缀,SpringMVC会将逻辑视图名解析为重定向的目标地址,并将请求重定向到该地址。 ```java @RequestMapping("/redirect") public String redirect() { return "redirect:/some/other/url"; } ``` 2. 重定向/转发关键字实现重定向转发 重定向转发还可以通过使用SpringMVC提供的重定向/转发关键字实现。具体实现方式如下: - 转发:使用"forward:"关键字加上转发目标地址,SpringMVC会将请求转发到该地址。 ```java @RequestMapping("/forward") public String forward() { return "forward:/some/other/url"; } ``` - 重定向:使用"redirect:"关键字加上重定向目标地址,SpringMVC会将请求重定向到该地址。 ```java @RequestMapping("/redirect") public String redirect() { return "redirect:/some/other/url"; } ``` 总之,SpringMVC提供了多种方式来实现重定向转发,开发者可以根据实际需求选择合适的方式来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值