我正在尝试IntelliJ IDEA 9 30天,我喜欢到目前为止我所看到的.我唯一明显的问题是编辑器似乎不知道如何处理JSP隐式对象方法......
例1:
<% out.println("Hello, World!"); %>
编辑器将此语句中的"println"标记为错误并说:无法解析方法'println(java.lang.String)' 这个语法基本上是你可以获得的,如果我将它部署到我的应用服务器(Tomcat 7),但IntelliJ坚持认为"out"对象没有这样的方法.它也不只是"出局".它无法识别任何隐式对象的方法......
例2:
<% String contextRoot = pageContext.getServletContext().getRealPath(""); . . . %>
在这种情况下,IntelliJ无法识别getServletContext()方法,但它确实识别getRealPath()方法.这有多奇怪?
令我感到震惊的是,我已经在网上搜索了IntelliJ 9中提到的这个问题,我想出了zilch.这表明我可能已经用我的设置做了一些奇怪的事情,但我无法想象.就像我上面所说的那样,如果我构建和部署,它的工作正常; 让我的JSP页面遍布虚假的红色错误令人恼火.Kinda首先打败了使用智能IDE的目的.
无论如何,我以为我会在专家面前抛出这个,看看你们是否可以对这个问题有所了解.任何见解将不胜感激!
你也会有这样的问题out
,pageContext
而且jspContext
因为它们使用提供的JSP API(不是在servlet API)班.
要使用它们(如果您正在使用maven项目)添加此依赖项:
javax.servlet jsp-api 2.0
如果你有每天隐含对象(问题session
,request
等等),你应该添加Servlet API的依赖太大:
javax.servlet servlet-api 2.5