我嘗試了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