[英]Does the Eclipse Web Tools Project handle refactoring inside JSPs?
我已經為Eclipse 3.4版安裝了Web Tools Project。 我一直在嘗試按照我認為的方式進行重構,並且沒有成功。
我有一個Java項目,其中包含放入/ WEB-INF / lib網站的jar的Java類。 另一個項目(動態Web項目)具有同一站點的JSP文件。 動態Web項目使用Java項目作為構建路徑中的必需項目進行設置。 我還為Dynamic Web項目設置了Project References選項以引用Java Project。
如果我使用重構來更改其中一個Java類中的方法名稱,我希望重命名JSP中對該方法的引用。 但它不起作用。 Java項目中包含類和其他使用該類的Java項目的引用已更改引用,但不是對JSP內部方法的引用。
我已經習慣了幾天,嘗試不同版本的Eclipse和WTP。 刪除我的所有項目和文件並重新設置它們。 沒有任何區別。
這對其他人有用嗎? 我需要設置一些特殊功能來實現這項功能嗎?
我對WTP(或任何日食的味道)如何處理JSP文件中的scriptlet塊中的Java代碼的經驗一直很糟糕:它永遠不會運行良好或者你期望的方式。 我已經看到Eclipse在JSP文件的中間添加<jsp:import>
語句,並執行所有其他類型的奇怪格式化。
我唯一的建議是遠離編輯Eclipse內部JSP中的代碼。
(我的另一條建議是不將Java代碼直接放在JSP文件中,然后轉移到MVC架構,但那是另一天的主題......)
對不起,這不是直接回答你的問題,但仍解決你的問題...也許有幫助,否則請忽略:
正如matt b建議的那樣,你不應該將java代碼放在jsp中。 相反,“簡單地”使用標簽。 如果您正在使用標准標簽庫 ,那么幾乎所有您需要的標簽庫 。 對於您必須自己處理的事情,一旦您知道標簽的內容,就可以非常簡單地編寫自己的標簽。
通過這個技巧,您將獲得更好的應用程序(視圖)架構,測試機會(希望您喜歡它們),堅持DRY(不要重復自己)原則並將所有Java代碼放在.java文件中,以便它們很容易被任何工具拿起。
甚至還有一個選項可以讓web.xml強制禁用腳本,讓代碼保持正常工作,但如果你已經對腳本化的jsps進行了大量投資,那么這可能不是你需要的......
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
</jsp-config>
你沒有問過的問題的另一個答案是IntelliJ Idea處理你談得很好的場景(雖然我每天都在使用eclipse,這是兩個IDE之間的差異之一)
請在這里投票支持。 或者創建一個新的更具體的功能請求。 在該鏈接中,您可以看到有很多關於重構和JSP的問題,但只有少數人知道如果他們投票給他們,他們更有可能在下一個eclipse版本中實現。
請在使用之前復制並修復鏈接,因為它已損壞。 “+”變為“%2B”。 這是正確的鏈接: https : //bugs.eclipse.org/bugs/buglist.cgi?quicksearch = jsp +refactor
也許我沒有正確地理解你,但聽起來你在嘗試重構之前將這些課程放在了Jar或War中。 重構適用於當前項目,而不適用於構建路徑中的任何內容。
如果我誤解了你的問題,我道歉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.