簡體   English   中英

Eclipse Web Tools Project是否處理JSP內部的重構?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM