2017-02-16 23 views
1

我正在使用Spring Tool Suit并创建了新的Spring Starter项目。在Spring Boot应用程序中未呈现视图

视图不会在我的弹簧启动应用程序中呈现。我试图在各种网站上搜索,但没有得到任何有效的解决问题的答案。

我不知道视图的默认位置,但据我搜索,它应该在资源文件夹。

下面是代码

主控制器

package com.example; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.GetMapping; 

@Controller 
public class MainController { 

    @GetMapping("/") 
    public String init() { 
     return "index"; 
    } 
} 

Application.properties

spring.mvc.view.prefix: /WEB-INF/jsp/ 
    spring.mvc.view.suffix: .jsp 

Application class 

package com.example; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class DemoApplication { 

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

的pom.xml

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example</groupId> 
    <artifactId>demo</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>demo</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.1.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

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

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-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> 

Project structure

+0

您是否在浏览器或应用程序日志中收到错误或消息? – Naros

+0

日志没有错误 '2017-02-16 08:20:15.844信息11344 --- [nio-8080-exec-1] oaccC [Tomcat]。[localhost]。[/]:初始化Spring FrameworkServlet 'dispatcherServlet' 2017-02-16 08:20:15.844 INFO 11344 --- [nio-8080-exec-1] osweb.servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化开始 2017-02-16 08: 20:15.859 INFO 11344 --- [nio-8080-exec-1] osweb.servlet。DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化在15毫秒内完成' –

回答

1

如果您使用thymeleaf然后把你的HTML文件中的资源/模板 但如果你正在使用JSP视图,把.jpa文件放在src/web应用/ WEB-INF/JSP

为JSP 依赖------------------------------

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
</dependency>` 

Application.properties

spring.mvc.view.prefix= /WEB-INF/jsp/ 
spring.mvc.view.suffix= .jsp 
+0

获取以下输出 白标错误页面 此应用程序没有显式映射/错误,因此您将此视为后备。 Thu Feb 16 10:52:16 IST 2017 有一个意外的错误(type = Not Found,status = 404)。 /WEB-INF/jsp/index.jsp –

+0

更新jasper jar https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper/9.0.0.M15 – ovi

0

Spring Boot通常不会使用WEB-INF。将您的JSP移动到resources/templates并删除应用程序属性中的行。

+0

我试过这个但没有工作。 –

0

你需要编译jsp。

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <scope>provided</scope> 
</dependency> 
0

最后得到的答复后两天

  1. 新增的依赖如上答案建议

    <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <scope>provided</scope> </dependency>

2.Found解决here

从这个问题的答案我已创建源文件夹src/main/webapp,并在此源文件夹中添加了第th e /WEB-INF/jsp/index

相关问题