Cambiar la asignación de prefijo JSF a sufijo me obliga a volver a aplicar la asignación en imágenes de fondo CSS
He estado usando la asignación de prefijos durante años y decidí cambiar a la asignación de sufijos, solo para deshacerme de la/faces
en la url realmente. Solo quería comprobar que voy en la dirección correcta antes de cavar un hoyo ya que están sucediendo algunas cosas inesperadas. Cambié de esto:
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
a esto
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Y luego veo que todo pasa porFacesServlet
tiene.xhtml
agregado a él, para que el navegador solicitebackground.png.xhtml
archivos,style.css.xhtml
archivo: ¿es correcto? Se llama mapeo de sufijos, supongo, pero me parece un poco desordenado y estoy tratando de convencerme de que es el camino a seguir.
En mis archivos CSS donde se hace referencia a un URI, también tengo que agregar.xhtml
:
background-image: url(images/background.png.xhtml);
Luego vi una publicación de BalusC que ofrece una solución para evitar la descarga de recursos sin pasar por FacesServlet:
<security-constraint>
<display-name>Restrict raw XHTML docs</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
Cuando agrego esto, entonces solo real.xhtml
os archivos @ se cargan en la página, todos los demás recursos (a pesar de tener.xhtml
adjunto) no se muestran.
Todo lo que quiero saber es:
¿Es este adjunto.xhtml
a todo lo normal (perdón si la pregunta más tonta del año)
¿Por qué la restricción de seguridad 'restringir documentos xhtml sin formato' impide que se carguen recursos como CSS, JavaScript e imágenes?
Gracias por cualquier comentario. Estoy usando Mojarra 2.1.2 en Glassfish 3.1.