DerGrinsemann
Mitglied
Hallo!
An Hand der unten angeführten Konfiguration sollte eigentlich der Aufruf "home.xhtml" problemlos funktionieren. Statt dessen erfolgt kein Rendering des Templates.
Wenn ich "home.seam" aufrufe - wird das Template gerendert.
Wo liegt mein Denk- oder Konfigurationsfehler?
web.xml
faces-config.xml
template.xhtml
home.xhtml
Ausgabe bei Aufruf von home.xhtml
Ausgabe bei Aufruf von home.seam
An Hand der unten angeführten Konfiguration sollte eigentlich der Aufruf "home.xhtml" problemlos funktionieren. Statt dessen erfolgt kein Rendering des Templates.
Wenn ich "home.seam" aufrufe - wird das Template gerendert.
Wo liegt mein Denk- oder Konfigurationsfehler?
web.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<display-name>NewsContest</display-name>
<listener>
<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
</listener>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<filter>
<filter-name>Seam Filter</filter-name>
<filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Seam Resource Servlet</servlet-name>
<servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Seam Resource Servlet</servlet-name>
<url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>
<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>*.seam</url-pattern>
</servlet-mapping>
</web-app>
faces-config.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2"
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_1_2.xsd">
<!-- Facelets support -->
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
</faces-config>
template.xhtml
Code:
<?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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:s="http://jboss.com/products/seam/taglib">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test Seam Framework</title>
</head>
<body>
<div id="document">
<div id="header">
Header
</div>
<div id="container">
<div id="sidebar">
<ui:insert name="sidebar"/>
</div>
<div id="content">
<ui:insert name="content"/>
</div>
</div>
</div>
</body>
</html>
home.xhtml
Code:
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:a="http://richfaces.org/a4j"
template="/WEB-INF/layout/template.xhtml">
<!-- content -->
<ui:define name="content">
Test-Content
</ui:define>
<!-- sidebar -->
<ui:define name="sidebar">
<h:form rendered="#{not identity.loggedIn}">
<div class="memberLogin">
<div class="loginHeader">Member Login</div>
<h:messages globalOnly="true"/>
<div class="loginRow">
<h:outputLabel for="name" value="Member name" styleClass="loginLabel"/>
<h:inputText id="name" value="#{credentials.username}"/>
</div>
<div class="validationMsg">
<h:message for="name"/>
</div>
<div class="loginRow">
<h:outputLabel for="password" value="Password" styleClass="loginLabel"/>
<h:inputSecret id="password" value="#{credentials.password}" redisplay="true"/>
</div>
<div class="validationMsg">
<h:message for="password"/>
</div>
<div class="buttons">
<h:commandButton value="LOGIN" action="#{identity.login}" styleClass="loginButton"/>
</div>
<br class="clear"/>
</div>
</h:form>
</ui:define>
</ui:composition>
Ausgabe bei Aufruf von home.xhtml
Code:
Test-Content
Member Login
Ausgabe bei Aufruf von home.seam
Code:
Header
Member Login
Member name
Password
Test-Content
Zuletzt bearbeitet: