我有许多JSP文件,其EL表达式为${foo.bar.baz.phleem1}
,${foo.bar.baz.phleem2}
等(前两个或三个段相等)。为了减少EL查找,我正在重构这些页面:
来源:
<c:out value="${foo.bar.baz.phleem1}" />
<c:out value="${foo.bar.baz.phleem2}" />
<c:out value="${foo.bar.baz.phleem3}" />
重构后:
<c:set var="baz" value="${foo.bar.baz}" />
<c:out value="${baz.phleem1}" />
<c:out value="${baz.phleem2}" />
<c:out value="${baz.phleem3}" />
我知道我可以通过搜索/替换来完成大部分工作,但由于它忽略了代码结构,因此感觉不安全。
在Eclipse或IntelliJ Idea中是否支持这种类型的重构?
答案 0 :(得分:1)
也许你可以在emacs中使用nxml-mode。 (我没有测试过) 有一些功能,如nxml-up-element。我打赌你可以创建一个强大的宏。但我认为更容易grep代码并手动完成。
答案 1 :(得分:0)
是。您可以使用正则表达式在Eclipse中使用占位符并相应地进行更改。
在eclipse中引用正则表达式的以下URL http://www.eclipse.org/tptp/home/downloads/installguide/gla_42/ref/rregexp.html
单击搜索[Ctrl + H],选中正则表达式选项,然后单击文件模式到jsp。
按Ctrl +空格键进行内容辅助。
单击搜索匹配,单击替换以替换所有匹配的字符串。您可以使用Regex组替换内容