我遇到与此JSP file not rendering in Spring Boot web application
类似的问题但不幸的是,建议的答案对我不起作用。
我使用start.spring.io服务创建了项目,默认结构是
/src/main/java
/src/main/resources/templates
/src/main/resources/static
我有一个名为add.jsp
的JSP页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>Add</body>
</html>
我试图放入/ src / main / resources / templates这根本不起作用,然后我创建了新的文件夹webapp并将我的jsp文件放在那里:
/src/main/webapp/WEB-INF/add.jsp
在浏览器中(我尝试过Chrome和Safari)我得到了文件的内容,而不是
Add
以下是我的配置代码:
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
}
我在pom.xml
中有这些依赖项<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>
也许我应该将我的jsp文件放在其他文件夹中或添加其他解析器? 提前感谢您的建议!
更新
如果我添加<!DOCTYPE html>
我的jsp将部分工作,但不完整,即
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
当它不应该显示时,显示。问题出在哪里?