web-dev-qa-db-fra.com

Eclipse autocomplete (content assist) avec facelets (jsf) et xhtml

Comment activer l'assistant de contenu Eclipse (3.5, WTP) dans les pages .xhtml pour les balises JSF (1.2), en utilisant des facelets?.

Je recherche souvent Google, et dans de nombreux endroits (y compris le wiki MyFaces), il est dit: "Eclipse ne peut pas fonctionner avec xhtml et facelets"

Étant donné que cela fonctionne avec les fichiers .jsp, je suppose qu’il existe peut-être un mécanisme permettant d’activer cette aide au contenu.

J'ai commencé à travailler sur un projet, qui a déjà une grande base de code, donc changer les extensions n'est pas une option. Des plugins supplémentaires sont également indésirables, mais acceptables si rien d'autre ne fonctionne.

(Je pose la question pour vérifier si quelqu'un n'a pas trouvé de solution spirituelle à ce problème - sinon je sais que ce n'est pas possible)

44
Bozho

J'ai trouvé la solution assez rapidement après avoir posé la question (et une heure après avoir tenté de la résoudre):

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

Fait en sorte que les fichiers soient traités comme des fichiers jsp. Ainsi, lorsqu'elles sont ouvertes avec l'éditeur JSP, l'auto-complétion de toute bibliothèque de balises dont les définitions sont au format .tld (<h: et <f par exemple) fonctionne. Les étiquettes Facelets et uniquement les étiquettes Facelets ne fonctionnent toujours pas. Leurs équivalents .tld doivent être ajoutés quelque part dans les projets. Le tld de Facelet peut être trouvé ici .

Une autre solution, un peu plus complexe, est décrite ici .

63
Bozho

Dans Eclipse Indigo (3.7) l’ajout de * .xhtml en tant que jsp ne fonctionne pas.

L'ajout d'une facette de projet résout le problème:

Faites un clic droit sur le projet -> Préférences -> Facettes du projet -> Cliquez sur "Visages JavaServer", la version devrait être 2.0.

Ensuite, il demande une bibliothèque, vous pouvez cliquer sur "désactiver ..." , car vous auriez probablement déjà configuré les fichiers jar. Je n'ai pas la mienne comme bibliothèque, alors j'ai ignoré cette partie.

Capture d'écran:enter image description here

49
mist

Utiliser JBoss Tools, c’est ce que j’utilise pour mes projets JSF + Facelets. C'est le meilleur que vous puissiez obtenir si vous devez travailler avec cette technologie. 

http://www.jboss.org/tools

Je recommande l'utilisation de la dernière version candidate, CR1, car celle-ci est compatible avec Eclipse 3.5. La version finale devrait paraître prochainement, mais CR1 est extrêmement solide.

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

7
kpolice

JBoss Tools était installé et la facette JavaServer Faces était configurée pour mon projet (sous Eclipse Mars), mais je n’ai toujours pas obtenu d’assistance de contenu de mes fichiers .xhtml. Une solution non mentionnée ici consiste à choisir Ajouter des capacités JSF:

 Add JSF Capabilities

Cliquez simplement sur le projet avec le bouton droit de la souris et sélectionnez Configurer -> Ajouter des capacités JSF.

Cela ressemblerait à l'image ci-dessus, mais il indiquerait Ajouter des capacités JSF au lieu de Supprimer des capacités JSF. Dans l'image ci-dessus, j'avais déjà ajouté des fonctionnalités JSF.

2
Magnilex

Vérifiez que vous avez inclus l'espace de noms primefaces! Donc, votre tag html pourrait ressembler à ceci:

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

Je me sers de Eclipse Luna et de primefaces 5.

1
Shekh Akther

Jeśli nic nie działa, À propos de Préférences-> Historique -> À propos de nous - Pomoc do treści ", Jeśli istnieje tylko jeden" asystent treści "dla" gdy "" Edycja ródła ". Je ustaw wiązanie nactrl+spacei kiedy „Edycja źródła JSP”.

1
RyuImperator

J'ai installé JBoss Tool pour le but de codage JSF.Mais dans * .XHTML, il n’affichait pas d’aide au contenu pour ManagedBean ... alors j’ai suivi les étapes qui me conviennent.

Pour mon projet, ces étapes ont fonctionné.

1) Faites un clic droit sur le projet -> Configurer -> Ajouter des capacités JSF .. Procédure pas à pas (Résolution de problèmes !!!). Allez au fichier Xhtml et essayez de coder # {m ^ anagedBeans.HelloJSF ()} (^ ) c’est le sysmbol il vous suffit de "Ctrl + espace" Content Assist fonctionnera. ici

1
Sandesh More

Si vous avez déjà installé JBoss Tools et avez toujours ce problème, désinstallez JBoss Tools. Redémarrez Eclipse. Assurez-vous qu'aucun outil JBoss ne figure dans la liste des composants installés.

Revenons maintenant au marché Eclipse. 

Installez simplement: JBoss JSF, JBoss Richfaces et JBoss Visual Page Editor à partir du jeu d’outils JBoss. Ne téléchargez pas le package complet qui contient plus de 30 outils. C'est un paquet gonflé qui va ralentir Eclipse et surcharger votre instance Eclipse.

Activer la facette JSF avec la dernière bibliothèque d'implémentation JSF. Je vous recommande de le télécharger directement depuis le site officiel de JSF.

Fermez Eclipse.

Ouvrez Eclipse et créez un nouvel espace de travail. 

Importez le projet dans le nouvel espace de travail.

Cela a fonctionné pour moi! 

1
ChaitanyaBhatt

Avez-vous pensé à MyEclipse ? Ce n'est pas gratuit, mais c'est un bel outil. Cela m'a beaucoup aidé lorsque j'ai développé avec JSF.

1
Michael Balint

Suggestion: dans Eclipse Indigo (classique) et travail avec maven projets

comme l'image que vous pouvez voir ci-dessous, vous ne pouvez pas trouver Project Facets sélection que @mist a suggéré (car je n'ai pas installé de plug-ins mais m2e je suppose).

enter image description here

alors, je l'ai fait pour résoudre ce problème:

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

cela ne fonctionne pas si bien (arrêt du contenu).

0
Teifi