Parfois je vois JSF URL *.jsf, parfois *.xhtml et parfois /faces/*. Pourquoi?
Été d'essayer d'apprendre JSF, et parfois je vois l'URL est *.jsf
et qu'il est parfois *.xhtml
ou /faces/*
. Quelqu'un peut-il remplir ma connaissance, s'il vous plaît? Quand je crée un JSF à l'aide de Facelet, l'extension du fichier est .xhtml
, d'où vient donc .jsf
extension URL viennent de?
Vous devez vous connecter pour publier un commentaire.
La
.jsf
extension est où leFacesServlet
est au cours de la JSF 1.2 période souvent mappé sur leweb.xml
.La
.xhtml
extension est de la réelle Facelets fichier que vous avez placé physiquement dans la webcontent de votre webapp, par exempleWebapp/WebContent/page.xhtml
.Si vous appelez cette page avec l'
.jsf
extension, par exemplehttp://localhost:8080/webapp/page.jsf
puis leFacesServlet
sera invoqué, recherchez lepage.xhtml
fichier et analyser/rendre ses composants JSF. Si leFacesServlet
n'est pas invoquée, alors l'utilisateur final serait la fin vers le haut d'obtenir les premières XHTML code source (qui peut être vu par un clic droit, l'Affichage de la Source).Parfois un
*.faces
extension ou/faces/*
foldermapping est utilisé. Mais ce fut de retour dans la JSF 1.0/1.1 âges. Vous êtes libre de choisir et d'utiliser tout le mappage que vous souhaitez laisserFacesServlet
écouter, même si c'est un rien-disant*.xyz
. La page en elle-même devrait toujours avoir le.xhtml
extension, mais c'est configureable par la suite<context-param>
dansweb.xml
:Cela va changer la
FacesServlet
pour localiserpage.xml
au lieu de (par défaut)page.xhtml
.Plus récemment, avec la JSF/Facelets 2.0 un
*.xhtml
mapping est utilisé. Dans JSF/Facelets 1.x il n'était pas possible d'utiliser le même mappage extension que le fichier physique. Il en résulterait une boucle infinie. Mais depuis JSF/Facelets 2.0, il est possible et cela vous permet d'appeler la page parhttp://localhost:8080/webapp/page.xhtml
.De cette façon, vous n'avez pas besoin de configurer certaines restrictions de sécurité pour masquer le raw fichiers source à l'écart pour les cas à chaque fois que l'utilisateur change par exemple
.jsf
dans l'URL de.xhtml
dans la barre d'adresse du navigateur. Seulement de l'outillage (IDEs et plugins) et les ressources d'apprentissage doivent encore rattraper l'préconisé de passer de*.jsf
à*.xhtml
. Comme par JSF 2.3, leFacesServlet
, par défaut, être autoregistered sur*.xhtml
trop (à côté de/faces/*
,*.faces
et*.jsf
). C'est reporté sur la Mojarra 2.2.11.Voir aussi: