2017-02-16 20 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

相關問題