Frage

    

Diese Frage bereits eine Antwort hier:

         

Mein Server Glassfish v3, ist mein Browser Firefox 3.6.3 und ich bin mit Netbeans 6.8 Meine Frage ist, warum das Textfeld ist nicht in meinem Browser zeigt nach oben. Ich sehe nur das Etikett.

<?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:f="http://java.sun.com/jsf/core">
            <h:head>
                <title>Lookup</title>
            </h:head>
            <h:body>
                <fieldset>
                <legend>Enter Your Customer ID</legend>
                <p>Legal ids are id001, id002, and id003.</p>
                <f:view>
                <h:form>
                    Customer ID:
                    <h:inputText value="#{bankForm.customerId}" />
                    <h:commandButton value="Show Current Balance"
                                     action="#{bankForm.findBalance}" />
                </h:form>
                </f:view>
                </fieldset>
            </h:body>
    </html>

Die web.xml

<?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>*.jsf</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>pages/customer-lookup</welcome-file>
    </welcome-file-list>
</web-app>
War es hilfreich?

Lösung

Sie müssen sicherstellen, dass die Anforderungs-URL (wie Sie in Browser-Adressleiste eingeben) den url-pattern der FacesServlet. D. h die Seite nicht öffnen, indem Sie http://example.com/context/page.xhtml , aber öffnen sie sie von http://example.com/context/page.jsf . Andernfalls wird der FacesServlet nicht mit JSF-Komponenten aufgerufen und Ihre XHTML-Seite wird nicht in irgendeiner Weise analysiert werden. Sie werden nur "plain HTML" Tags wie <fieldset> und so weiter im Browser sehen und Sie erhalten den JSF-Quellcode unverändert in dem zurückgegebenen HTML-Quellcode sehen, wenn Sie ein View Source in Browser tun.

Andere Tipps

Fügen Sie diese auf Ihre web.xml:

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

Das Problem, das Sie mit konfrontiert kann gelöst werden web.xml Datei gespeichert in dem WEB-INF dir in Ihrem Web-Anwendung-Projekt. Sie müssen diese Datei öffnen und die folgenden XML-Inhalte hinzufügen, um Ihre Seiten ordnungsgemäß ausgeführt werden.

 <web-app>
    ...
    ...
    ...
    <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
  </web-app>

Wenn Sie Ihre XML-Datei doesnt exist in dem genannt dir, können Sie es, indem Sie auf Ihrem Web-Anwendung Projekt hinzufügen können, neue Datei hinzufügen und dann Standard-Deployment Descriptor (web.xml)

wählen

Überprüfen Sie, ob Sie Faces-Servlet auf dieser Seite

konfiguriert haben
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top