java - tutorial - welcome primefaces
Las etiquetas JSF no se están procesando (4)
Modifique su web.xml para
<web-app>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
<url-pattern>/faces/</url-pattern>
</servlet-mapping>
</web-app>
cambie el nombre de su archivo a login.xhtml
abra su archivo en http://localhost:8080/DeutschAkademie/faces/login.xhtml
Esta pregunta ya tiene una respuesta aquí:
Estoy comenzando un proyecto JSF (esta es la primera vez que uso JSF) y tengo problemas con las etiquetas que se están procesando. Estoy desarrollando en Eclipse y usando TomCat como servidor.
Mi archivo login.jsp: https://gist.github.com/code-curve/e7e557262d407dddd1f3
Mi archivo web.xml: https://gist.github.com/code-curve/52902b7605b780dea93f
Estructura del proyecto Eclipse: http://snag.gy/P8Sts.jpg
Registro de inicio del servidor: https://gist.github.com/code-curve/d1927a636052607ce16a
Estoy accediendo al archivo con esta url: http://localhost:8080/DeutschAkademie/login.jsp
y como entiendo, la etiqueta <h:form>
debe representarse como <form>
, pero en su lugar se representa como <h:form>
. ¿Algunas ideas?
Cuando cree su proyecto, se generará el archivo web.xml
y, de manera predeterminada, el servlet-mapping
dentro de este archivo se verá así:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
.xhtml
coloques todos tus archivos .xhtml
en una carpeta llamada faces
.
Entonces puede crear esta carpeta llamada faces
en WebContent
y poner sus archivos .xhtml
allí y luego llamar a su aplicación
. http://localhost:8080/DeutschAkademie/faces/login.xhtml
O puede editar su web.xml
y cambiar el servlet-ammping a
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
y luego llame a su aplicación
. http://localhost:8080/DeutschAkademie/login.xhtml
Esas soluciones también se han mencionado anteriormente.
Después de agregar <url-pattern>*.xhtml</url-pattern>
, asegúrese de que sus archivos tengan extensión .xhtml; de lo contrario, no funcionará.
Dos consejos:
Actualice el patrón de URL para el Servlet de Caras. La configuración predeterminada puede ser para
*.jsp
(no es necesario usar*.faces
o algo más. Sin embargo, recomendaría usar*.xhtml
.JSF 2 funciona con Facelets, por lo que ya no necesita usar JSP antiguo. Al leer su contenido de la página login.jsp, puede cambiar el nombre de la extensión de jsp a xhtml y funcionará.
En función de esto, el web.xml se verá así:
<web-app>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.xhtml</welcome-file>
</welcome-file-list>
</web-app>
Y con el archivo login.xhtml
.
Para acceder a su página, solo tendrá que escribir http://localhost:8080/DeutschAkademie/login.xhtml
en la barra de direcciones de su navegador.
Relacionado:
- ¿Por qué mis etiquetas jsf no funcionan?
EDITAR:
Según la imagen de su proyecto, la carpeta WEB-INF / lib está limpia. Deberías dejar allí las bibliotecas JSF 2. Añádalos, vuelva a compilar su proyecto y vuelva a intentarlo.