这是accessing resources in jsp page of spring mvc app上的一个问题的后续问题,感谢@kmb385,我能够解决这个问题,但现在我在JSP文件javax.servlet.jsp中得到以下eclipse错误。
无法将javax.servlet.jsp.PageContext解析为类型
正如KMB 385所建议的,这是我的控制器:
@Controller
public class AdminController {
@RequestMapping("/")
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("index");
model.addObject("msg", "hello world");
return model;
}
}
这里是我的index.jsp页面,以防万一:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!-- <link type="text/css" rel="stylesheet" href="css/style.css"/> -->
<style type="text/css">
<%@include file="css/style.css" %>
</style>
<title>My Project - MainPage</title>
</head>
<body>
<h2 class="main_heading2">My Project - MainPage</h2>
<div style="float: right; width: 30%; text-align: center">
<p style="float:left;">an image should be here</p>
<img src="images/logo.jpg" alt="Logo"/>
<img src="${pageContext.servletContext.contextPath}/resources/images/logo.jpg" />
</div>
</body>
我遇到过通过在JSP验证器中禁用它来解决这个问题的“解决方案”,但请不要建议这样做,除非你能给予一个合理的理由。我宁愿正确地纠正这个问题
感谢任何帮助
**更新:**根据@kmb385 x1c 0d1x的请求构建路径截屏
7条答案
按热度按时间omhiaaxx1#
尝试将pom.xml中的
servlet-api
依赖项设置为provided。这个jar可能与tomcat提供的servlet-api.jar冲突。另外,请确保包含jsp-api依赖项,再次按照提供的设置:
右键单击项目> Properties,确保所有的maven依赖项都用于构建项目。在deployment assembly选项卡上,单击add按钮,然后单击Java Build Path选项卡,然后单击Maven选项卡,最后单击Finish。
您可能还需要将您的maven依赖项添加到构建路径中。右键单击项目> Maven >更新项目配置。
vnjpjtjt2#
如果您已经下载了maven中的所有依赖项,并且错误仍然没有消失,请按照以下步骤操作:
1.右键单击项目并转到属性
1.单击目标运行时间
1.选中您正在使用的服务器前面的复选框。
这个应该能用
cnh2zyt33#
尝试导入类。
将JSP的第一行修改为如下所示;
<%@ page language="java" import="javax.servlet.jsp.PageContext" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
w8biq8rn4#
添加pom.xml依赖:
JSP:
确保在jsp上,在tag之前添加:
获取JSP上的上下文:
导入样式css:
Dispatcher-servlet:
在“spring-dispatcher-servlet.xml”中添加以下行:
也许,你需要添加这些适配器:
在此解释:how to include js and css in jsp with spring MVC
hjzp0vay5#
如何解决javax.servlet.jsp.PageContext不能解析为一个类型
1:-选择您的项目并右键单击
2:-转到属性
3:-单击目标运行时
4:-勾选“Apache Tomcat v8.0”
我使用的是Apache v8.0
bkhjykvo6#
qxgroojn7#
这个替代方案对我
<%=request.getContextPath()%>
有效,它可以获取应用程序上下文。