Spring Boot从当前控制器方法重定向到另一个控制器方法

时间:2019-03-21 15:24:55

标签: spring-boot

大家好,我是Spring Boot的新手。陷入我的学习道路中间。我有两个控制器(@Controller),其中定义了一些方法。我正在向表单控制器中的方法提交表单数据,并且如果表单提交成功(成功登录后),则希望移至主控制器中的方法。在加载索引控制器的http://localhost:9090/方法时,它会正确加载所有静态内容,但是当我重定向return "redirect:/dashboard/index"时,它将导航到http://localhost:9090/dashBoard/index/dashboard/index方法如下

@Controller
public class HomeController {
    @GetMapping(value = "/dashBoard/index")
    public String hello(Model model, @RequestParam(value = "name", required = false, defaultValue = "World") String name) {
        model.addAttribute("name", name);
        return "index";
    }
}

此方法返回.jsp页的“索引”,但重定向到此方法会更改静态内容路径,例如http://localhost:9090/dashBoard/assets/images/avatar/1.jpg

似乎在静态内容的路径中附加了/dashBoard/。不明白该怎么办,请帮忙。在添加我的项目属性和结构时,请看

application.properties

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.resources.static-locations=file:/var/www/static,classpath:static
spring.mvc.static-path-pattern=/resources/**
server.port=9090
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57InnoDBDialect
spring.jackson.serialization.fail-on-empty-beans=false

main class

[@SpringBootApplication
@EnableAutoConfiguration
public class SchoolpageApplication extends SpringBootServletInitializer {

    public static void main(String\[\] args) {
        SpringApplication.run(SchoolpageApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SchoolpageApplication.class);
    }
}

Project Structure

Static content path

1 个答案:

答案 0 :(得分:0)

@Controller
@RequestMapping("/dashBoard")
public class HomeController {
    @GetMapping("index")
    public String hello(Model model, @RequestParam(value = "name", required = false, defaultValue = "World") String name) {
        model.addAttribute("name", name);
        return "index";
    }
}

您可以尝试此方法,每次使用/ dashboard进入url时,您都将进入此控制器,并且可以使用/ foo(在本例中为/ index)和下一个收入来控制所需的每个选项。返回它将使您进入/ dashboard / +您的返回值(在本例中为索引)。

我不是弹簧靴专家,我对它也很陌生,但我希望这可以为您提供帮助。