重构JSP中的EL表达式

时间:2012-01-26 14:17:39

标签: java eclipse jsp refactoring intellij-idea

我有许多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中是否支持这种类型的重构?

2 个答案:

答案 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。

enter image description here

按Ctrl +空格键进行内容辅助。

enter image description here

单击搜索匹配,单击替换以替换所有匹配的字符串。您可以使用Regex组替换内容

enter image description here

enter image description here

enter image description here