当前位置: 首页 > 知识库问答 >
问题:

Spring启动控制器重定向到 /templatejsp页面不工作

沈飞舟
2023-03-14

我试图从一个非常简单的控制器重定向到位于资源/模板中的jsp页面,但我不想使用ViewResolver java配置,而是想使用应用程序属性前缀和后缀!

控制器

@GetMapping("/")
    public String redirectToMainPage() {
        return "main-page";
    }

以下是我的应用程序属性:

spring.mvc.view.prefix = /templates/
spring.mvc.view.suffix = .jsp

jsp位置为:

/src/main/resources/templates/main-page.jsp

但我总是犯这样的错误:

白标签错误页此应用程序没有/Error的显式映射,因此您将其视为回退。

EET 2019年11月13 13:38:55日星期三出现意外错误(类型=未找到,状态=404)。没有可用的消息

编辑:我刚刚从Spring Initializer创建了这个项目。下面是重要的位,其他的只是自动生成的依赖项

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>web.site</groupId>
    <artifactId>cookBook</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>cookBook</name>
    <description>Demo project for Spring Boot</description>
    <packaging>war</packaging> 

    <properties>
    <java.version>1.8</java.version> 
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-hateoas</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

提前感谢您的帮助!

共有1个答案

宇文飞翮
2023-03-14

请添加依赖项:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

需要嵌入jasper依赖关系来呈现jsp文件。此外,当您使用jsp作为视图渲染器时,将您的包装更改为war

 类似资料:
  • 问题内容: 假设我有一个用于编辑Pony属性的表单,并且在我的Web应用程序中有多个位置可以选择编辑Pony。例如,在小马列表中,每个小马旁边可能都有一个“编辑”链接,并且当用户查看小马时,该视图中也可能有“编辑”链接。 当用户在编辑Pony后单击“提交”时,我想使用户返回他或她单击“编辑”链接时所在的页面。 如何编写控制器以将用户重定向回他们开始的地方?当然,我可以通过向控制器传递参数来做到这一

  • 我在spring boot应用程序中点击一个控制器,当我返回到浏览器时,我希望它重定向到spring boot应用程序模板以外的另一个网站或url。

  • 嗨,我用spring初始化器创建了一个简单的Spring Boot应用程序。我在主应用程序类的同一文件夹中添加了一个控制器。 这是给我以下错误的网址http://localhost:8080/welcome 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 Sat Dec 19 12:51:44 IST 2020出现意外错误(类型=未找到,状态=404)。 如果我使用@restContro

  • 在IDP启动的设置中使用代码片段重定向到控制器(/bootstrap/v1): 控制器代码片段: 调试级日志片段: 安全筛选器链:[MetadataGeneratorFilter WebSyncManagerIntegrationFilter SecurityContextPersistenceFilter CustomLogFilter HeaderWriterFilter LogoutFilt

  • 我正在尝试将Spring Security性与spring boot restful API集成。我的项目代码如下: web安全配置包括 你能帮我清理这个案子吗?

  • 我正在尝试测试以下控制器: 下面是测试类: 当我运行测试失败,并给我以下消息: 当我测试的url正常工作。