2017-08-05 89 views
1

在spring-boot中,我想使用jsp,但它不起作用。在spring-boot中,我想使用jsp,但它不起作用

application.yml,我的配置是這樣的:

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

關於Appliction

@SpringBootApplication 
public class JspApplication extends SpringBootServletInitializer { 
    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
     return builder.sources(JspApplication.class); 
    } 

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

Controller

@Controller 
public class WelcomeController { 

    private String message = "Hello World"; 

    @GetMapping("/") 
    public String welcome(Map<String, Object> model) { 
     User user = new User(1, "張三", "男", 33); 
     model.put("createTime", new Date()); 
     model.put("user", user); 
     return "welcome"; 
    } 
} 

我還創造了直銷tory webapp/WEB-INF/jsp/welcome.jsp

運行main()後我訪問http://localhost:8080,但我什麼也沒得到。它可以進入controller,但它不能轉發jsp view。我不知道如何解決它。

這是我在project Github上

回答

0

WEB-INF/jsp/文件夾必須src/main/resources文件夾中,否則你的模板不能暴露於模板引擎下的舉動。

0

您可以從Web配置界面implemente EmbeddedServletContainerCustomizer並覆蓋定製方法來更改文檔根目錄。

例如:如果web應用程序的文件夾是在src /主/

@Configuration 
    public class WebConfigurer implements EmbeddedServletContainerCustomizer 

    @Override 
     public void customize(ConfigurableEmbeddedServletContainer container) { 
      container.setDocumentRoot(new File("src/main/webapp/")); 

     } 
} 
相關問題