2012-01-26 10 views
6

${foo.bar.baz.phleem1}, ${foo.bar.baz.phleem2} gibi EL ifadelerine sahip birçok JSP dosyası var (ilk iki veya üç bölüm eşittir). üstlenmeden sonraJSP'lerde Refactor EL ifadeleri

<c:out value="${foo.bar.baz.phleem1}" /> 
<c:out value="${foo.bar.baz.phleem2}" /> 
<c:out value="${foo.bar.baz.phleem3}" /> 

:

Kaynak: EL aramalarını azaltmak için ben bu sayfaları üstlenmeden sürecinde am

<c:set var="baz" value="${foo.bar.baz}" /> 
<c:out value="${baz.phleem1}" /> 
<c:out value="${baz.phleem2}" /> 
<c:out value="${baz.phleem3}" /> 

ben yerine/arama ile bunun en yapabileceğini biliyorum, ama kod yapısını görmezden gelince güvensiz hissediyor.

Eclipse veya IntelliJ Idea'de bu tür bir yeniden düzenleme için herhangi bir destek var mı?

+2

Bildiğim kadarıyla Eclipse'de değil. Eclipse'de, arama yapmadan önce önizleme ve sonuçların önizlemesini görüntüleyebilir ve uygulamadan önce yanlış eşleşmeleri kaldırabilirsiniz. – BalusC

+0

Yaptığım şeyle güncellendi. –

+0

Kontrol ettik. IDEA 11.0.1, bu tür bir yeniden yapılandırmayı da desteklememektedir. – Vadzim

cevap

0

Evet. Düzenli ifadeler kullanarak Eclipse içindeki yer tutucuları kullanabilir ve buna göre değiştirebilirsiniz.

http://www.eclipse.org/tptp/home/downloads/installguide/gla_42/ref/rregexp.html

tıklayın Arama [Ctrl + H], jsp Normal ifade seçeneğini ve FilePattern kontrol Tutulma düzenli ifadelere ilişkin aşağıdaki URL'yi bakın. içerik

enter image description here

Ctrl + boşluk yardımcı olur. eşleştirme için

enter image description here

tıklayın arama, tek seferde tüm eşleşen dize en değiştirmek için değiştirin. Sen

enter image description here

enter image description here

+1

OP, bunun farkındadır: * "Bunun çoğunu arama/değiştirme ile yapabileceğimi biliyorum, ancak kod yapısını görmezden geldiği için güvensiz hissediyor." * OP, normal Java kaynak kodundaki gibi aynı yeniden düzenleme işlevini arıyordu Alt + Shift + L. – BalusC

+1

Bu cevap gerçekten OP'nin sorduğu şeyi nasıl yapacağını söylemiyor, sadece kendi çözümünü bir araya getirmede kullanabileceği şey, muhtemelen bir "extract değişken" işlemine eşdeğer olmayacaktır. – millimoose

+0

Ben aynı anda paket için yeniden adlandırma ulaşmak için kullandım .. Tek çekimde 350 java dosyaları :)! Düzenli ifade grupları kullanmanın yararlı olabileceğini hissettim :) –

1

Belki emacs'taki nxml-modunu kullanabilirsiniz

enter image description here içeriği

değiştirilmesi için Regex grupları kullanabilirsiniz. (Ben test etmedim) nxml-up-element gibi bazı fonksiyonlar var. Eminim güçlü bir makro oluşturabilirsin. Ama ben kodu grep ve elle yapmak daha kolay olduğunu düşünüyorum.

+0

Hahaha, +1 için çılgın emac önerileri –

+0

Temel sorun, JSP'lerin iyi biçimlendirilmiş XML olmalarıdır. Aksi halde, bazı XML tabanlı araçları kendim de kopyalarım. –