• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JSF-Templating funktioniert nicht mehr

dieWaldfee

Neues Mitglied
Liebe HTML-Foren-Gemeinde!

Vor ca. 2 Jahren habe ich studienbedingt ein kleines Webprojekt gebastelt, welches damals einwandfrei gelaufen ist. Nun möchte ich dieses Webprojekt als Grundlage für eine neue Webseite verwenden. Doch wie es der Teufel will, funzt das Template nun aus unerfindlichen Gründen nicht mehr. Es wird nur der Client im Browser angezeigt. Das Rahmentemplate wird garnicht eingebunden. Wenn ich das Template direkt aufrufe, werden die einzelnen Template-Elemente auch nicht eingebunden (Header, Footer, ...). Die einzelnen Template-Elemente lassen sich problemlos im Browser anzeigen.

Auf meinem Windoof 8-Laptop habe ich die neueste Version von Eclipse, Tomcat und co installiert und die Serverconfig etc. angepasst. Ich meine natürlich, es richtig angepasst zu haben. Aber aus irgendeinem Grund muss es ja nun nichtmehr funktionieren.
Komischerweise läuft das Template auch auf dem alten Laptop nichtmehr, wo ich es zuletzt vor Abgabe damals bearbeitet habe.

Nach mehreren Tagen rumgebastel, wieder einstampfen und wieder aufbauen des Workspace kapituliere ich hiermit und hoffe auf Rettung von außen. Ich wende mich jetzt verzweifelt mit allen Codeschnipseln, die ich für relevant halte, an dieses Forum. Hoffentlich hab ich nur irgend eine saudumme Kleinigkeit tagelang übersehen und ihr könnt das Thema wieder einstampfen ...

Beispiel-Client:
HTML:
  <ui:composition template="template.xhtml"

  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">
    <ui:define name="dynamic">
      <div id="wrap">
        <div class="left_content">
          <div class="title">
            <table>
              <tr>
                <td valign="bottom"><img src="images/loginkeks.jpg"
                  alt="" title="" />
                </td>
                <td valign="middle">Sie wurden erfolgreich ausgeloggt.</td>
              </tr>
            </table>
          </div>
          <div class="feat_prod_box_details">
            <p class="details">
              <div class="text">Vielen Dank für Ihren Besuch! Bis bald
                ...</div>
              <br /> <br />
            </p>
            <table>
              <tr>
                <td height="350" width="440" align="center" valign="bottom">
                  <img src="images/logout.png" alt="" /></td>
              </tr>
            </table>
          </div>
        </div>
        <!-- End of left_content -->
      </div>
      <!-- End of wrap -->
    </ui:define>
    <div class="clear"></div>
  </ui:composition>

Template:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<h:html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">
<h:head>
  <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252" />
  <title>Scherzkekse</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</h:head>
<h:body>
<h:form>
  <!-- Wrapper -->
  <div id="wrap">
    <ui:include src="header.xhtml" />
  </div>
  <!--Content
    wird unterschieden zwischen dem dynamischen und statischen Content -->
  <div class="center_content">
    <!-- dynamisch -->
    <div class="left_content">
      <ui:insert name="dynamic">
        <ui:include src="index.xhtml" />
      </ui:insert>
      <div class="clear"></div>
    </div>
    <!-- statisch -->
    <div class="right_content">
      <ui:insert name="static">
        <ui:include src="static_content.xhtml" />
      </ui:insert>
    </div>
    <div class="clear"></div>
  </div>
  <div class="footer">
    <ui:include src="footer.xhtml" />
  </div>
</h:form>
</h:body>
</h:html>


Header:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<h:html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">
<h:body>
  <h:form>
    <div class="header">
      <div class="logo">
        <a href="home.xhtml"><img src="images/logo.jpg" alt=""
          title="" border="0" />
        </a>
      </div>
      <div id="menu">
        <ul>
          <li><a href="home.xhtml">Home</a>
          </li>
          <li><a id="active" href="about.xhtml">Über Uns</a>
          </li>
          <li><a href="products.xhtml">Kekse</a>
          </li>
          <li><a href="register.xhtml">Registrieren</a>
          </li>
          <li><a href="kontakt.xhtml">Kontakt</a>
          </li>
        </ul>
      </div>
      <div class="suche">
        <div class="lupe">
          <h:commandButton image="images/lupe.gif"
            action="#{logik.sucheFuellen}" />
        </div>
        <div class="suchfeld">
          <h:inputText id="keyword" value="#{watermarkBean.keyword}"
            label="Keyword" type="text" />
        </div>
      </div>
    </div>
  </h:form>
</h:body>
</h:html>

Alle anderen, im Template includierten Dateien sind analog der Header.xhtml aufgebaut.
Hier noch die web.xml und die faces-config.xml im Ordner WEB-INF.

web.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Test</display-name>
  <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <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>
  </servlet-mapping>
  <context-param>
  <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>client</param-value>
  </context-param>
  <context-param>
  <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
  <param-value>resources.application</param-value>
  </context-param>
  <listener>
  <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>
</web-app>

faces-config.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!--<faces-config
  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"
  version="2.0">-->
<faces-config
  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"
  version="2.0">
</faces-config>


Vielleicht hat ja tatsächlich jemand die Muse, sich den ganzen Spaghettihaufen durchzuschauen. Ich bedanke mich schonmal herzlich für jeden Hilfsversuch!
 
Zurück
Oben