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 Antwort

Ich 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.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage