Eclipse Web Tools Project是否处理JSP内部的重构?

Ski*_*ead 6 java eclipse refactoring jsp eclipse-wtp

我已经为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.删除我的所有项目和文件并重新设置它们.没有任何区别.

这对其他人有用吗?我需要设置一些特殊功能来实现这项功能吗?

Ola*_*ock 2

抱歉,这不是直接回答您的问题,但仍然解决您的问题......也许它有帮助,否则请忽略:

正如 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>
Run Code Online (Sandbox Code Playgroud)

对于您没有提出的问题的另一个答案是,IntelliJ Idea 可以很好地处理您谈论的场景(尽管我自己每天都在使用 eclipse,但这是两个 IDE 之间的差异之一)