2017-03-17 5 views
0

내가 스프링 부팅 기본 응용 프로그램을이 작동하지 않습니다 (.html 중에서)를 볼 수봄 부팅 매핑 작업을

package com.meenakshi.fileupload; 

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



@SpringBootApplication 
public class Example { 



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

} 

내 컨트롤러는

package com.meenakshi.fileupload.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 



@Controller 
public class IndexController { 

    @RequestMapping("/") 
    public String index() { 
     System.out.print("REDIRECTED BY MEENAKSHI"); 

     return "index"; 
    } 

} 

내 index.html을은 SRC의 기본 HTML 파일입니다/메인/자원/공용 폴더

내 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>myproject</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.5.RELEASE</version> 
    </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> 

    <!-- Additional lines to be added here... --> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
     </dependency> 
     <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> 
입니다

내가 localhost를 수행 할 때 : 8080 내가 index.html을 리디렉션 할 것으로 예상하지만 thymeleaf 종속성을 추가하고 XMLNS를 추가 할 때 나는 허용 목록 라벨 오류 페이지

무엇입니까 : 일 = "http://www.thymeleaf.org"에 .html 작동 여부

해결 방법은 무엇입니까? 또한 Spring Boot의 기본 view resolver는 무엇입니까? 나는 thymeleaf를 강제적으로 사용해야합니까? 또한

, 나는

답변

1

당신이 당신의 index.html을 노출 할 수있는 방법 몇 가지가 있습니다있는 application.properties 뭔가를 추가해야합니까.

내가 가장 좋아하는 방법은 다음을 수행한다 :

@Configuration 
public class WebMvcConfiguration extends WebMvcConfigurerAdapter { 

    @Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
     registry.addViewController("/").setViewName("index.html"); 
     registry.setOrder(Ordered.HIGHEST_PRECEDENCE); 
    } 

} 

그것은 자동으로 index.html을 잡아하고 봉사하는 기본 뷰 컨트롤러를 만들 것입니다.

또 다른 방법은 당신이했던 것처럼하고 있지만, 다음과 같은 ModelAndView를 반환하지만, 그것은 SPA 후 더 Thymeleaf/JSP를 맞게된다

@Controller 
@RequestMapping("/") 
public class DefaultController { 

    @GetMapping("/") 
    public ModelAndView index() { 
     IndexModel indexModel = new IndexModel(); 
     return new ModelAndView("index", "index", indexModel); 
    } 

}