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

时间:2017-08-05 12:41:12

标签: jsp spring-mvc spring-boot

在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";
    }
}

我还创建了目录webapp/WEB-INF/jsp/welcome.jsp

我在运行http://localhost:8080后访问main(),但我什么都没得到。

它可以进入controller,但无法转发jsp view。我不知道如何解决它。

这是我在Github的project

2 个答案:

答案 0 :(得分:0)

您的WEB-INF/jsp/文件夹需要在src/main/resources文件夹下移动,否则您的模板无法展示给模板引擎。

答案 1 :(得分:0)

您可以从网络配置中实施界面 EmbeddedServletContainerCustomizer ,并覆盖自定义方法来更改文档根目录。

示例:万一webapp文件夹位于src / main /

    @Configuration
    public class WebConfigurer implements EmbeddedServletContainerCustomizer 

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

        }
}