web-dev-qa-db-ja.com

Facelets(jsf)およびxhtmlを使用したEclipseオートコンプリート(コンテンツアシスト)

Faceletを使用して、JSF(1.2)タグの.xhtmlページでEclipse(3.5、WTP)コンテンツアシストをアクティブにする方法.jspファイルでは機能しますが、xhtmlでは機能しません。

私はたくさんのグーグルを使い、MyFaces wikiを含む多くの場所で「Eclipseはxhtmlとfaceletsでは動作しません」と言われています。

これは.jspファイルで機能するので、そのコンテンツアシストをアクティブにするための何らかのメカニズムがあるかもしれないと思います。

私はすでに大きなコードベースを持っているプロジェクトに取り組み始めたので、拡張機能を変更することは選択肢ではありません。追加のプラグインは望ましくありませんが、他に何も機能しない場合は受け入れられます。

(誰かがこの問題に対する気の利いた回避策を見つけられなかったかどうかを確認するために質問をしている-そうでなければそれは不可能だとわかっている)

48
Bozho

質問をした後(および解決を試みてから1時間後)、すぐに解決策を見つけました。

Window > Preferences > General > Content Types > Text > JSP > Add (xhtml)

ファイルをjspファイルとして処理します。したがって、JSPエディターで開くと、.tld形式(<h:および<fなど)の定義を持つタグライブラリのオートコンプリートが機能します。 Facelets、およびfaceletsのみのタグはまだ機能しません。それらの.tld同等物はプロジェクトのどこかに追加する必要があります。 Faceletのtldは here にあります。

もう1つ、もう少し複雑なソリューションを説明します here

63
Bozho

Eclipse Indigo(3.7) jspとして* .xhtmlを追加しても機能しません。

プロジェクトファセットを追加すると、問題が解決します。

プロジェクトを右クリック->設定->プロジェクトファセット->「JavaServer Faces」をクリックします。バージョンはおそらく2.0になっているはずです。

次に、ライブラリを要求します「無効にする...」をクリックできます。おそらく、jarがすでに構成されているからです。私はライブラリとして私のものを持っていないので、その部分を無視しました。

スクリーンショット: enter image description here

49
mist

JBoss Toolsを使用します。これは、JSF + Faceletsプロジェクトに使用するものです。このテクノロジーを使用する必要がある場合に入手できる最高のものです。

http://www.jboss.org/tools

Eclipse 3.5と互換性のあるCR1である最新の候補リリースを使用することをお勧めします。最終バージョンはまもなくリリースされるはずですが、CR1は堅実です。

http://in.relation.to/Bloggers/JBossTools31CR1Released

7
kpolice

JBoss Toolsをインストールし、プロジェクト(Eclipse Mars)にJavaServer Facesファセットを設定しましたが、。xhtmlファイルからコンテンツアシストを取得できませんでした。ここに記載されていない解決策は、JSF機能の追加を選択することです

Add JSF Capabilities

プロジェクトを右クリックし、Configure->Add JSF Capabilitiesを選択します。

上の図のように見えますが、Remove JSF Capabilitiesの代わりにJSF Capabilitiesを追加と表示されます。上の写真では、JSF機能をすでに追加していました。

2
Magnilex

Primefaces名前空間が含まれていることを確認してください!したがって、htmlタグは次のようになります。

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://Java.Sun.com/jsf/facelets"
xmlns:h="http://Java.Sun.com/jsf/html"
xmlns:f="http://Java.Sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">

Eclipse Lunaとprimefaces 5で使用しています。

1
Shekh Akther

何も機能しない場合は、[設定]-> [一般]-> [キー]に移動する必要があります。次に、[編集] Javaソースが存在する場合そして、バインディングを ctrl+space 「JSPソースの編集」の場合。

1
RyuImperator

JSFコーディングの目的でJBoss Toolをインストールしましたが、*。XHTMLではManagedBean ..のコンテンツアシストを表示していなかったので、次の手順を実行しました。

私のプロジェクトでは、この手順はうまくいきました。

1)プロジェクトを右クリック->構成-> JSF機能の追加.. ステップバイステップ手順 (Vailaaa !!!問題解決).. Xhtmlファイルに移動して、コードを試してください# {m ^ anagedBeans.HelloJSF()}ここで(^)これは、コンテンツアシストが機能するために「Ctrl +スペース」を押すだけで必要なsysmbolです。 here

1
Sandesh More

すでにJBoss Toolsをインストールしているにもかかわらずこの問題がある場合は、JBossツールをアンインストールしてください。 Eclipseを再起動します。インストールされたコンポーネントのリストにJBossツールが残っていないことを確認してください。

次に、Eclipseマーケットに戻ります。

JBossツールセットからJBoss JSF、JBoss Richfaces、JBoss Visual Page Editorのみをインストールします。 30以上のツールが付属しているパッケージ全体をダウンロードしないでください。これは肥大化したパッケージであり、Eclipseを遅くし、Eclipseインスタンスを不必要に膨張させます。

最新のJSF実装ライブラリでJSFファセットを有効にします。公式のJSF Webサイトからこのjarを直接ダウンロードすることをお勧めします。

Eclipseを閉じます。

Eclipseを開き、新しいワークスペースを作成します。

プロジェクトを新しいワークスペースにインポートして戻します。

これは私のために働いた!

1
ChaitanyaBhatt

MyEclipse について考えましたか?それは無料ではありませんが、かなりいいツールです。 JSFを使用して開発した場合、非常に役立ちました。

1
Michael Balint

提案:EclipseでIndigo(classic)およびmavenプロジェクトで作業する

下の写真のように、_Project Facets_が提案した_@mist_の選択が見つかりません(プラグインをインストールしていないので_m2e_と思います)。

enter image description here

だから、私はその問題を解決するためにこれをしました:

Window >> Preference >> General >> Content Types >> XML >> Add file association (*.xhtml)

これはあまりうまく機能しません(コンテンツの停止)。

0
Teifi