我尝试了30天的IntelliJ IDEA 9,并且我喜欢迄今为止所看到的。唯一突出的问题我是主编似乎不知道该怎么做JSP隐含对象的方法...IntelliJ 9无法识别JSP中的隐式对象方法?
例1:
<body>
<% out.println("Hello, World!"); %>
</body>
编辑标志着这一说法“的println”作为一个错误,并说:无法解决方法'println(java.lang.String)'这种语法是基本的,你可以得到,它工作得很好,如果我把它部署到我的应用服务器(Tomcat 7),但IntelliJ坚持认为没有这种“出”对象的方法。它也不仅仅是“出”。它不识别任何隐对象的方法...
实施例2:
<body>
<%
String contextRoot = pageContext.getServletContext().getRealPath("");
.
.
.
%>
</body>
在这种情况下,的IntelliJ不能识别的getServletContext()方法,但它确实识别getRealPath()方法。这有多奇怪?
让我失望的是,我已经在IntelliJ 9上搜索过任何有关此问题的Web,并且我已经提出了zilch。这表明,也许我已经做了一些奇怪的设置,但我无法想象是什么。就像我上面所说的那样,如果我仍然建立和部署,它就会工作得很好;只是让我的JSP页面遍布各处的虚假红色错误令人烦恼。有点击败了首先使用智能IDE的目的。
无论如何,我想我会在专家面前抛弃它,看看你们是否能够解决这个问题。任何有识之士将不胜感激!
感谢您的答复,科林。实际上我并没有使用Maven项目。这只是普通的IntelliJ IDEA,将一个爆炸的战争工件部署到Tomcat 7。我打算使用Maven项目作为替代方案,但似乎很奇怪,我只需要清理编辑器中的所有红色...... – Syndog 2010-10-12 12:06:05
您是否在项目中添加了应用程序服务器库?在'file' - >'Project structure' - >'Modules' - >'Dependencies' - >'Add'中。如果您在IntelliJ中将tomcat配置为应用程序服务器,则可以添加依赖项。 – 2010-10-12 12:09:48
尤里卡!好的,所以必须将应用程序服务器库添加到项目依赖项中。我没有意识到这些对象是特定于Web应用程序的。因此,如果我在某个时候部署到不同的应用程序服务器(例如JBoss),那么我必须对其库执行相同的操作?感谢你的帮助,科林。 – Syndog 2010-10-12 12:16:54