Problem mit JSF Anwendung

firestone

Bekanntes Mitglied
Hallo zusammen,

also ich bin ein Newbie was JSF angeht und hätte vorab ein paar Fragen .
1. Hat jemand ein gutes Tutorial mit guten Beispielen für JSF Java und vielleicht sogar in Verbindung mit JSP und Struts
2. Ich habe nun gesehen das man sowohl mit JSP als auch mit xhtml arbeiten kann. Wo ist der Unterschied was ist besser


Dann habe ich mal eine kleine Beispielanwendung versucht ans laufen zu kriegen diese arbeitet eigentlich mit xhtml und ich bekomme immer den Fehler JSPG0036E: Die Ressource /showMenu.jsp wurde nicht gefunden. Dabei arbeite ich doch gar nicht mit JSP Oo was mache ich falsch.

Hier folgender Aufbau
Im Verzeichnis WebContent habe ich meine xhtml Seiten
Im Verzeichnis WebContent/WEB-INF/ habe ich meine faces-config.xml und meine web.xml

faces-config sieht wie folgt aus
Java:
<?xml version="1.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">

	<application>
		<locale-config>
			<default-locale>de</default-locale>
			<supported-locale>en</supported-locale>
			<supported-locale>de</supported-locale>
		</locale-config>
		<message-bundle>de.bsdwest.jsf.resources.messages</message-bundle>
		<resource-bundle>
			<base-name>de.bsdwest.jsf.resources.messages</base-name>
			<var>msgs</var>
		</resource-bundle>
	</application> 	
	
</faces-config>

web.xml
Java:
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
  	<display-name>Stammdaten</display-name>
  	<welcome-file-list>
    	<welcome-file>/showMenu.xhtml</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>*.jsf</url-pattern>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
  
</web-app>

Dann habe ich noch die zwei jar files jsf-api-2.0.1.jar und jsf-impl-2.0.1.jar eingebunden.

Wo liegt jetzt der Fehler was mache ich falsch wieso meckert er an das er eine jsp Seite nicht finden kann ich dachte das geht auch mit xhtml Oo

Hilfe

Lg fireli
 

Nogothrim

Aktives Mitglied
ich vermute dir fehlt ein Eintrag in der faces-config.xml, damit deine xhtml Facelets gerendert werden können:

Code:
<application>
...
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
...
</application>
 

firestone

Bekanntes Mitglied
Huhu

:) nach viel googeln habe ich das was du geschrieben hast auch gefunden also was ich bis jetzt gemacht habe ich habe noch zusätzlich die

jsf-facelets.jar
el-impl-1.0.jar

Eingebunden und in der web.xml folgende Sachen ergänzt

Java:
<context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
         
</context-param>

<context-param>
       
          <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>true</param-value>
        
</context-param>

und in der faces-config.xml diese Zeile
Java:
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>

jetzt bekomme ich aber folgende Fehlermeldung
Java:
24.06.10 14:09:56:859 CEST] 00000022 viewhandler   E   Error Rendering View[/showMenu.xhtml]
                                 com.sun.facelets.tag.TagException: /showMenu.xhtml @11,9 <h:head> Tag Library supports namespace: [url]http://java.sun.com/jsf/html[/url], but no tag was defined for name: head
	at com.sun.facelets.compiler.CompilationManager.pushTag(CompilationManager.java:193)
	at com.sun.facelets.compiler.SAXCompiler$CompilationHandler.startElement(SAXCompiler.java:194)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
	at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at com.sun.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:232)
	at com.sun.facelets.compiler.Compiler.compile(Compiler.java:105)
	at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:218)
	at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:149)
	at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:100)
	at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:519)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:569)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1455)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:793)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:444)
	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:325)
	at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:687)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3622)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:927)
	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1566)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:175)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)

Was fehlt jetzt noch ?

Meine showMenu.xhtml sieht wie folgt aus

Java:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" type="text/css" href="./css/default.css" />    
    <title>#{msgs.mainmenu_title}</title>
</h:head>

<h:body>
	<f:view>
	
	<h2>#{msgs.mainmenu_header}</h2>
	
	<p>
		
		<h:form>
		<ul>
			<li><a href="showActualList.jsf">#{msgs.mainmenu_actualList}</a></li>
			<li><a href="showAllItems.jsf">#{msgs.mainmenu_fullList}</a></li>
			<li>
				<h:commandLink id="link" action="#{ctrlStammdaten.createEntry}">
  					<h:outputText value="#{msgs.mainmenu_newEntry}"/>
				</h:commandLink>
			</li>
		</ul>
		</h:form>
	</p>
	</f:view>
</h:body>
</html>
 

Nogothrim

Aktives Mitglied
Das wird an deiner JSF version liegen.
<h:head> ist ein JSF 2.0 tag, es wird aber anscheinend JSF 1.x verwendet oder der Namespace ist nicht richtig definiert.
 

firestone

Bekanntes Mitglied
Ok danke für die Hilfe :) . Bin jetzt schon ein paar Schritte weiter.

Kannst du mir sagen ob es allgemeine Navigation-rules gibt oder muss ich die für jeden xhtml Seite seperat anlegen ??
 

Semerzo

Aktives Mitglied
Soweit ich mich entsinne, soll einer der Clou's von JSF 2 sein, dass Du recht wenig in XML machen musst. Du brauchst erstmal keine Navigation Rules => Learning JSF2: Navigation | Maxa Blog nennt sich Implicit Navigation. Eine komplette Übersicht, was JSF 2 an Änderungen mitbringt findet sich hier What’s New in JSF 2? Andy Schwartz’s Weblog

Es könnte lohnen nach der Lektüre eines Tutorials darüber zu fliegen. Ich bin nicht sicher, ob alle alten JSF Tuts ein Update erfahren haben :)

Der Blog-Eintrag ist recht nett, um eine JSF 2 Kickstart Anwendung zu machen
http://blogs.steeplesoft.com/2009/01/bootstrapping-a-jsf-2-project/
 

knoppers

Bekanntes Mitglied
com.sun.facelets.tag.TagException: /showMenu.xhtml @11,9 <h:head> Tag Library supports namespace: http://java.sun.com/jsf/html, but no tag was defined for name: head

du musst den namespace für <h: ... > in deiner xhtml Seite bekannt geben. Dann bekommst du auch den Fehler nicht mehr. Bsp.:

xmlns:ui="http://java.sun.com/jsf/facelets"

wie das ganze bei

<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:f="http://java.sun.com/jsf/core">
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S AJAX/RestController Post Problem Web Tier 18
pkm Problem beim Import eines dynamischen Webprojekts als .zip Web Tier 2
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
F JSF preRenderView Problem Web Tier 0
J Funktion für AJAX - Problem mit Return Web Tier 14
S Problem mit Checkboxen im Servlet erkennen Web Tier 3
N JSF JSF Selected Item & GesBetrag Problem Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Problem mit Primefaces Web Tier 7
F JSF Problem mit Primefaces Web Tier 4
F JSP Problem mit Property Web Tier 0
D Java EE Servlet login Problem Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
T JSF Character Encoding Problem Web Tier 2
T JSF Problem mit JSF und Foreign Key Tabellen Web Tier 8
H JSF Problem mit Converter Web Tier 2
M Zeichensatz Problem? Web Tier 3
T JSF Problem wenn Session abgelaufen ist Web Tier 6
K JSF websphere application server 8 tomahawk problem Unable to find resource Web Tier 3
D JSF RichFaces Tree-Beispiel Problem Web Tier 2
J JSF Problem mit Bearbeiten von Datensätzen Web Tier 7
M JSF Problem mit CSS und Unterverzeichnissen Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
P Servlet getWidth(); - getHight(); Problem Web Tier 3
J JSP Problem bei Hibernate mit JSP Web Tier 2
M JSF mit Tobago Problem: ServletContextListener Web Tier 5
J Facelets javascript compiler problem Web Tier 3
T Tomcat mit Servlets Problem Web Tier 7
T Servlet Problem bei gwt rpc Web Tier 7
S Servlet Problem mit Tomcat Web Tier 3
J JSF Kein Methodenaufruf mit Button möglich durch PhaseListener (redirect) Problem? Web Tier 2
P rich:panelMenuGroup --> expanded Parameter Problem Web Tier 3
F.S.WhiTeY Tmplating/CSS Problem bei JSF Web Tier 7
A ice:inputText Converter Problem Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
R JSF JSF Composite Components: Problem mit Attributliste und Referenzierung Web Tier 2
M Problem mit Hibernate und GWT Web Tier 6
O JSP struts2 tag: Problem mit Dezimalzahlen Web Tier 2
P Struts Struts2 if tag Problem mit getText() Web Tier 3
B Java EE 6 Problem (EL) Web Tier 4
ruutaiokwu beanshell scope problem... Web Tier 7
P Problem mit HTML.Tag.OPTION Web Tier 3
N Problem mit Datei Streaming Web Tier 2
M Problem mit Verlinkung JSP Dynamische Tabelle Web Tier 7
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
F.S.WhiTeY JSF:org.apache.jasper.JasperException Problem Web Tier 2
H Richfaces - Taglib Problem gelb unterstrichen Ajax Output Web Tier 6
N Servlet: Problem mit getParameterValues Web Tier 4
7 Struts und Ajax. Problem mit Actions Web Tier 2
J GWT - RPC Problem Web Tier 6
I Logout - Problem => Bei Zurück Web Tier 2
I AJAX - Problem Web Tier 18
F Problem mit Struts Web Tier 2
I selectOneMenu - Problem Web Tier 6
H Firefox Background-Image Problem Web Tier 4
E GWT Server-Client Problem Web Tier 3
J Log4j problem Web Tier 7
F Problem mit der Methode request.getRemotePort() Web Tier 2
S GWT Problem Web Tier 4
M Problem mit Velocity Web Tier 2
S OSGi Bundle Problem - ClassNotFound Web Tier 4
J JSF Locales Problem Web Tier 3
J Problem mit Login Web Tier 4
MQue jsp- Problem Web Tier 4
P Problem der Parameterübergabe aus Iframe Web Tier 15
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
R JSF <rich:datatable> problem Web Tier 4
S JSF Problem - Terminverwaltung - Ändern eines vorhandenen Termins Web Tier 2
S Filter Problem? Web Tier 6
E Problem mit t:saveState Web Tier 7
S Problem mit Anzeige zweier JSP's Web Tier 4
M Problem mit JSP und Bean Web Tier 2
F RichFaces, Problem mit PickList Web Tier 2
S Problem mit Servlet und Zugriff auf Orace XE Datenbank Web Tier 2
E Problem mit request.getParameter Web Tier 5
B getServletContext.getRealPath("/") Problem Web Tier 6
C Problem mit Hibernate und IceFaces Web Tier 2
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
H problem bei Parameterübergabe mit beans Web Tier 3
U JSP form-Daten (ohne name-Attribut) an Servlet = Problem Web Tier 6
S jsf: übles problem mit <f:convertDateTime> Hilfe! Web Tier 2
A Selectbox Problem in JSP Web Tier 12
T Problem bei Session-Timeout Web Tier 3
S problem mit resultset Web Tier 6
U Problem bei Validierung mit Struts 2 Web Tier 1
A JSF-Ctrl h:inputText Problem mit Umlauten Web Tier 4
T Back Button bei JSF Anwendung Web Tier 2
F Zertifikatsinstallation via Web Anwendung Web Tier 2
R App Engine Anwendung mit GWT als Frontend Web Tier 0
C JSF-Anwendung lokal auf anderem Rechner Web Tier 5
M Kalendar in JSF Anwendung Web Tier 4
H Relativer Pfad für XML-Datei in JSP-Anwendung Web Tier 3
O JSF-Anwendung Thread-Sicher machen Web Tier 2
T JSF Simple Anwendung mit Richfaces Web Tier 7
B Thread start bei Java Web Anwendung Web Tier 6
C JSF JSF 2 - Anwendung lädt nicht Web Tier 4
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
T Seam Anwendung EAR-Projekt Web Tier 3
2 Anwendung mit Zuständen und Struts Web Tier 5
R Struktur JSP-Anwendung Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben