wake-up-neo.com

Eclipse Autocomplete (Inhaltshilfe) mit Facelets (JSF) und Xhtml

So aktivieren Sie Eclipse (3.5, WTP) -Inhaltsunterstützung in .xhtml-Seiten für JSF-Tags (1.2) mithilfe von Facelets?.

Ich google viel und an vielen Stellen (einschließlich MyFaces-Wiki) heißt es - "Eclipse kann nicht mit Xhtml und Facelets arbeiten"

Da dies mit .jsp-Dateien funktioniert, gehe ich davon aus, dass es einen Mechanismus gibt, mit dem diese Inhaltshilfe aktiviert werden kann.

Ich habe angefangen, an einem Projekt zu arbeiten, das bereits eine große Codebase hat. Daher ist das Ändern der Erweiterungen keine Option. Zusätzliche Plugins sind ebenfalls unerwünscht, aber akzeptabel, wenn nichts anderes funktioniert.

(Ich stelle die Frage, ob jemand keine witzige Lösung für dieses Problem gefunden hat - ansonsten weiß ich, dass dies nicht möglich ist.)

44
Bozho

Die Lösung wurde ziemlich schnell gefunden, nachdem ich die Frage gestellt hatte (und eine Stunde, nachdem ich versucht hatte, sie zu lösen):

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

Lässt die Dateien als JSP-Dateien behandelt werden. Wenn sie mit dem JSP-Editor geöffnet werden, funktioniert die automatische Vervollständigung aller Tag-Bibliotheken, deren Definitionen im .tld -Format vorliegen (<h: und <f). Facelets und Nur-Facelets-Tags funktionieren immer noch nicht. Ihre .tld -Äquivalente sollten irgendwo in den Projekten hinzugefügt werden. Facelet's tld kann gefunden werden hier .

Eine andere, etwas komplexere Lösung wird beschrieben hier .

63
Bozho

In Eclipse Indigo (3.7) Das Hinzufügen von * .xhtml als jsp funktioniert nicht.

Durch das Hinzufügen einer Projektfacette wird das Problem gelöst:

Klicken Sie mit der rechten Maustaste auf das Projekt -> Einstellungen -> Projektfacetten -> Klicken Sie auf "JavaServer Faces", die Version sollte höchstwahrscheinlich 2.0 sein.

Dann werden Sie nach einer Bibliothek gefragt, Sie können auf "Deaktivieren ..." klicken, da Sie höchstwahrscheinlich die Gläser bereits konfiguriert haben. Ich habe meine nicht als Bibliothek, also habe ich diesen Teil ignoriert.

Bildschirmfoto:enter image description here

49
mist

Verwenden Sie JBoss-Tools. Ich verwende dies für meine JSF + Facelets-Projekte. Es ist das Beste, was Sie bekommen können, wenn Sie mit dieser Technologie arbeiten müssen. 

http://www.jboss.org/tools

Ich empfehle die Verwendung der neuesten Kandidatenversion, die CR1 ist, da sie mit Eclipse 3.5 kompatibel ist. Die endgültige Version sollte bald herauskommen, aber CR1 ist absolut solide.

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

7
kpolice

Ich hatte JBoss Tools installiert und hatte die JavaServer Faces-Facette für mein Projekt (in Eclipse Mars) konfiguriert, bekam jedoch keine Inhaltshilfe aus meinen .xhtml -Dateien. Eine Lösung, die hier nicht erwähnt wird, ist die Auswahl von JSF-Funktionen hinzufügen:

 Add JSF Capabilities

Klicken Sie einfach mit der rechten Maustaste auf das Projekt und wählen Sie Configure -> JSF-Funktionen hinzufügen.

Es würde wie das Bild oben aussehen, würde aber sagen: JSF-Funktionen hinzufügen anstelle von JSF-Funktionen entfernen. Im obigen Bild hatte ich bereits JSF-Funktionen hinzugefügt.

2
Magnilex

Überprüfen Sie, ob Sie einen Namensraum für Primefaces enthalten. Ihr HTML-Tag könnte also wie folgt aussehen:

<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">

Ich habe in Eclipse Luna und Primefaces 5 verwendet.

1
Shekh Akther

Jeśli nic nie działa, musisz przejść do Preferencje-> Ogólne-> Klucze Następnie wyszukaj „pomoc do treści”, Ich wiązanie na ustawctrl+spaceIch kiedy „Edycja źródła JSP”.

1
RyuImperator

Ich habe das JBoss-Tool für die JSF-Codierung installiert. In * .XHTML wurde jedoch keine Inhaltshilfe für ManagedBean angezeigt. Ich habe also die folgenden Schritte ausgeführt, die für mich funktionieren.

Für mein Projekt funktionierten diese Schritte.

1) Klicken Sie mit der rechten Maustaste auf Projekt -> Konfigurieren -> JSF-Funktionen hinzufügen .. Schritt für Schritt (Vailaaa !!! Problem Solve) .. Gehen Sie zur Xhtml-Datei und versuchen Sie, # {m ^ anagedBeans.HelloJSF ()} Where (^ ) das ist das sysmbol da musst du nur "Strg + Leertaste" Content Assist funktionieren. hier

1
Sandesh More

Wenn Sie JBoss Tools bereits installiert haben und dieses Problem weiterhin besteht, deinstallieren Sie die JBoss Tools. Starten Sie Eclipse neu. Stellen Sie sicher, dass sich kein JBoss-Tool in der Liste der installierten Komponenten befindet.

Gehen Sie jetzt zurück zum Eclipse-Markt. 

Installieren Sie einfach: JBoss JSF, JBoss Richfaces und JBoss Visual Page Editor aus dem JBoss-Tool-Set. Laden Sie nicht das gesamte Paket herunter, das über 30 Tools enthält. Es ist ein aufgeblähtes Paket und verlangsamt Eclipse und unnötiges Aufblähen Ihrer Eclipse-Instanz.

Aktivieren Sie die JSF-Facette mit der neuesten JSF-Implementierungsbibliothek. Ich empfehle Ihnen, dieses Glas direkt von der offiziellen JSF-Website herunterzuladen.

Schließen Sie Eclipse.

Öffnen Sie Eclipse und erstellen Sie einen neuen Arbeitsbereich. 

Importieren Sie das Projekt wieder in den neuen Arbeitsbereich.

Das hat für mich funktioniert! 

1
ChaitanyaBhatt

Hast du über MyEclipse nachgedacht? Es ist nicht kostenlos, aber es ist ein ziemlich schönes Werkzeug. Es hat sehr geholfen, als ich mit JSF entwickelt habe.

1
Michael Balint

Vorschlag: in Eclipse Indigo (klassisch) und mit maven Projekten arbeiten

wie das Bild unten zeigt, kann Project Facets keine Auswahl finden, die @mist vorgeschlagen hat (weil ich keine Plugins installiert habe, aber m2e, denke ich).

enter image description here

also habe ich dies getan, um das Problem zu lösen:

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

das klappt nicht so gut (inhaltsstopp).

0
Teifi