JSF-Tags werden nicht als HTML gerendert [duplizieren]
Diese Frage hat hier bereits eine Antwort:
JSF gibt eine leere / nicht analysierte Seite mit einer einfachen / rohen XHTML / XML / EL-Quelle anstelle einer gerenderten HTML-Ausgabe zurück. 1 AntwortIch folge demJava EE firstcup Tutorial mit Netbeans undGlasfisch.
Wenn ich die JSF-Webebene ausführe, deren Code ich angewiesen habe, erhält der Browser das gleiche JSF-Markup, das in der .xhtml-Datei codiert ist, und die Tags werden nicht als HTML-Tags gerendert. Ich weiß das, indem ich das @ benut Quellcode anzeigen in meinem Browser.
Zum Beispiel für diesen Code:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Page title here</title>
</h:head>
<h:body>
<h2>
<h:outputText value="#{bundle.WelcomeMessage}" />
</h2>
</h:body>
</html>
Der Browser sollte ungefähr so aussehen:
<html ...>
<head>
<title>Page title here</title>
</head>
<body>
<h2>
the welcome message goes here
</h2>
</body>
</html>
Recht
Nun, mein Browser erhält jsf-Code (der erste Code oben) und nicht den HTML-Code (der zweite Code oben).
Es scheint ein Konfigurationsproblem in Netbeans oder Glassfish zu sein, aber ich weiß nicht, was. Irgendwelche Ideen
Dies ist meine web.xml-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<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>/firstcup/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>greetings.xhtml</welcome-file>
</welcome-file-list>
</web-app>
Dies ist meine Datei faces-config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<application>
<resource-bundle>
<base-name>firstcup.web.WebMessages</base-name>
<var>bundle</var>
</resource-bundle>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>es</supported-locale>
</locale-config>
</application>
<navigation-rule>
<from-view-id>/greetings.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/response.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Außerdem
Die URL, die ich im Browser eingebe, isthttp: // localhost: 8081 / firstcup / aber ich habe es auch versucht:http: // localhost: 8081 / firstcup / greetings.xhtml Ich habe die Glassfish-Protokolle überprüft und es gibt keine Informationen darüber, dass FacesServlet nicht geladen werden kann.