Je suis en train de me lancer dans le développement de Seam/JSF et de trouver un moyen de rechercher les fichiers de gabarit XHTML à partir d'un emplacement différent.Répertoire explicite pour les fichiers de gabarit JSF
Lors de la configuration de l'application JSF comme ceci:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.seam</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
quand je rentre dans une URL comme:
http://localhost/test.seam
Le système charge le fichier XHTML à
<webapp>/test.xhtml
Qu'est-ce que je d aime configurer est un répertoire préfixe, de sorte que le fichier est recherché à partir
<webapp>/WEB-INF/views/test.xhtml
Alors, est-il un moyen de achive quelque chose comme ceci:
<context-param>
<param-name>javax.faces.DEFAULT_PREFIX</param-name>
<param-value>/WEB-INF/views/</param-value>
</context-param>
Merci pour votre aide!
solution de contournement de Nice, mais je suppose que cela ne fonctionne que si le servlet faces est mis en correspondance avec une extension différente de xhtml. Connaissez-vous un moyen d'y parvenir lorsque la servlet faces est mappée sur/faces ou * .xhtml? –
@ Jörn: si 'FacesServlet' est mappé sur' * .xhtml', il n'y a pas de quoi s'inquiéter. Accéder à '* .xhtml' invoquerait alors' FacesServlet' ** de toute façon **;) Mais s'il est mappé sur '/ faces' alors votre seul recours est un' Filter' qui vérifie à la fois le dossier et l'extension et gère en conséquence (retour 401 ou 403). Cela ne peut pas être fait correctement en utilisant la sécurité déclarative. – BalusC