Java EclipseWeb工具项目是否处理JSP内部的重构?

Java EclipseWeb工具项目是否处理JSP内部的重构?,java,eclipse,jsp,refactoring,eclipse-wtp,Java,Eclipse,Jsp,Refactoring,Eclipse Wtp,我已经安装了Eclipse 3.4版的Web工具项目。我一直试图以我认为应该的方式进行重构,但没有成功 我有一个Java项目,其中包含jar的Java类,该jar被放入WEB站点的/WEB-INF/lib中。另一个项目(动态Web项目)具有相同站点的JSP文件。动态Web项目与Java项目一起设置为构建路径中的必需项目。我还为动态Web项目设置了项目引用选项,以引用Java项目 如果我使用重构来更改某个Java类中的方法名,我希望JSP中对该方法的引用会被重命名。但它不起作用。包含该类的Java

我已经安装了Eclipse 3.4版的Web工具项目。我一直试图以我认为应该的方式进行重构,但没有成功

我有一个Java项目,其中包含jar的Java类,该jar被放入WEB站点的/WEB-INF/lib中。另一个项目(动态Web项目)具有相同站点的JSP文件。动态Web项目与Java项目一起设置为构建路径中的必需项目。我还为动态Web项目设置了项目引用选项,以引用Java项目

如果我使用重构来更改某个Java类中的方法名,我希望JSP中对该方法的引用会被重命名。但它不起作用。包含该类的Java项目中的引用以及使用该类的其他Java项目中的引用发生了更改,这些引用将被重构,但对JSP中的方法的引用不会被重构

我已经摆弄它好几天了,尝试了Eclipse和WTP的不同版本。删除我的所有项目和文件并重新设置它们。没什么区别


这对其他人有用吗?有什么特别的东西我需要设置来让它工作吗

也许我没有正确地理解您,但听起来您在尝试重构之前正在将类放入Jar或War中。重构是针对当前项目的,而不是针对构建路径中的任何内容


如果我误解了你的问题,我道歉

我的经验是,WTP(或任何形式的Eclipse)如何在JSP文件中处理scriptlet块中的Java代码一直都很糟糕:它从来都不能很好地工作,也不能像您期望的那样工作。我在JSP文件的中间看到Eclipse添加了<代码> /COD>语句,并做了其他各种奇怪的格式化。

我唯一的建议是不要在Eclipse内部的JSP中编辑代码


(我的另一条建议是不要将Java代码直接放在JSP文件中,并转移到MVC架构中,但这是另一天的主题…)

对不起,这不是直接回答您的问题,而是解决您的问题。。。也许有帮助,否则请忽略:

正如mattb所建议的,您不应该将java代码放在jsp中。而是“简单地”使用标签。如果您使用的是,那里几乎有您需要的一切。对于你必须自己处理的事情,一旦你知道标签是关于什么的,就可以很简单地编写你自己的标签

使用此技巧,您将获得更好的应用程序(视图)体系结构、测试机会(希望您喜欢它们)、坚持DRY(不要重复)原则并将所有Java代码放在.Java文件中,以便任何工具都可以轻松地获取它们

web.xml甚至可以选择强制禁用脚本,让标记继续工作,但如果您已经在脚本化JSP上投入了大量资金,这可能不是您所需要的

<jsp-config>
  <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <scripting-invalid>true</scripting-invalid>
  </jsp-property-group>
</jsp-config>

*.jsp
真的

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

请投票支持这一点。或者创建新的更具体的功能请求。在这个链接中,您可以看到关于重构和JSP有很多问题,但是只有少数人知道,如果他们投票支持它们,那么它们很可能在下一个eclipse版本中实现


请在使用之前复制并修复链接,因为它已损坏。“+”变为“%2B”。以下是正确的链接:

对于误解,我深表歉意。不,在部署测试之前,我不会将类放入Jar中。重构对我来说可以跨项目工作,只要项目是Java项目。将我的答案移至wiki,因为它没有帮助。雅加达Taglibs已于2010年退役,他们的Taglib已被弃用,并创建了一个新的扩展Taglib。标准和RDC标记库已经转移到Tomcat。感谢您的通知和链接-在这篇文章中更正,这篇文章最初是在退休前写的