在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
答案 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/"));
}
}