我正在使用eclipse助手进行Java EE开发。 我正在开发一个Struts Web应用程序。 在JSP页面中,我使用这样的代码
<script type="text/javascript" src="<%out.print(getServletContext().getContextPath());%>/js/jquery.js"></script>
<link rel="stylesheet" href="<%out.print(getServletContext().getContextPath());%>/css/home.css" />
当我运行我的服务器时,此页面正常工作。但是,Eclipse在getServletContext()
方法getServletContext()未定义类型 __2F_Compiler_2F_WebContent_2F_pages_2F_home_2E_jsp
以下是截图:
因为页面正常工作,我想在Eclipse中隐藏此错误。我怎么能这样做?
答案 0 :(得分:4)
我不能代表Eclipse的错误,但在这种特定情况下,您应该使用隐式JSP scriptlet变量application
而不是使用HttpServlet
- 继承的方法。
<script type="text/javascript" src="<%out.print(application.getContextPath());%>/js/jquery.js"></script>
<link rel="stylesheet" href="<%out.print(application.getContextPath());%>/css/home.css" />
无关具体问题,这是一种90年代编写JSP的方式,自从几十年前发布的JSP 2.0以来,这是officially discouraged。你确定在学习JSP的同时阅读最新的资源吗?你应该使用EL表达式。
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/home.css" />
或者,通过<c:set>
保存样板:
<c:set var="root" value="${pageContext.request.contextPath}" />
...
<script type="text/javascript" src="${root}/js/jquery.js"></script>
<link rel="stylesheet" href="${root}/css/home.css" />
答案 1 :(得分:0)
如果您使用Tomcat 6.0,则应添加扩展Servlet。
项目 - &gt;属性 - >添加库 - >服务器运行时
它会添加apache的lib。