6

Web Tools Project for Eclipse バージョン 3.4 をインストールしました。私はリファクタリングを自分が思うように機能させようとしてきましたが、うまくいきませんでした。

Web サイトの /WEB-INF/lib に配置される jar の Java クラスを含む Java プロジェクトが 1 つあります。別のプロジェクト (動的 Web プロジェクト) には、同じサイトの JSP ファイルがあります。ダイナミック Web プロジェクトは、ビルド パスの必須プロジェクトとして Java プロジェクトと共にセットアップされます。また、動的 Web プロジェクトが Java プロジェクトを参照するように [プロジェクト参照] オプションを設定しました。

リファクタリングを使用していずれかの Java クラスのメソッド名を変更すると、JSP 内のそのメソッドへの参照の名前が変更されることが予想されます。しかし、うまくいきません。クラスを含む Java プロジェクト内の参照と、そのクラスを使用する他の Java プロジェクト内の参照はリファクタリングされますが、JSP 内のメソッドへの参照はリファクタリングされません。

さまざまなバージョンの Eclipse と WTP を試して、何日もいじっていました。すべてのプロジェクトとファイルを削除して、再度セットアップします。何も違いはありません。

これは他の誰にとっても機能しますか?これを機能させるために設定する必要がある特別なものはありますか?

4

4 に答える 4

2

これが可能になるように、ここで投票してください。または、より具体的な新しい機能リクエストを作成します。そのリンクでは、リファクタリングと JSP に関して多くの問題があることがわかりますが、それらに投票した場合、次の Eclipse リリースで実装される可能性がはるかに高いことに気づいている人はごくわずかです。

リンクが壊れているため、使用する前にリンクをコピーして修正してください。「+」は「%2B」になります。正しいリンクは次のとおりです: https://bugs.eclipse.org/bugs/buglist.cgi?quicksearch=jsp+refactor

于 2009-04-24T15:46:18.337 に答える
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>

あなたが尋ねなかった質問に対するもう1つの答えは、IntelliJ Ideaがあなたが話しているシナリオを非常にうまく処理するということです(私は毎日Eclipseを使用していますが、これは両方のIDEの違いの1つです)

于 2009-02-12T20:48:14.517 に答える
0

たぶん私はあなたを正しく理解していませんが、リファクタリングを試みる前にクラスを Jar または War に入れているようです。リファクタリングは、ビルド パス内のものではなく、現在のプロジェクトに対するものです。

あなたの質問を誤解した場合は、お詫び申し上げます。

于 2009-02-11T19:20:19.043 に答える