Warum werden die Managed Beans nicht erkannt?

Status
Nicht offen für weitere Antworten.

A.T.

Bekanntes Mitglied
Hallo zusammen,
zum zweiten mal heute... Hoffentlich legt sich das bald wieder!

Versuche mich wie gesagt ein wenig ins JEE Umfeld einzuarbeiten und im Moment bin ich bei JSF gelandert.
Arbeite mit Eclipse und Tomcat.

Versuche jetzt ein Beispiel das ich gefunden habe auszuprobieren und lauffähig zu machen. Aber irgendwie funktioniert das vorne und hinten nicht. Meine Vermutung ist das die Managed Beans nicht erkannt werden...

Im Moment sieht es so aus das wenn ich das Projekt im Browser aufrufe mir der Qulltext der Datei listBooks.jsf angezeigt wird. Desweitern bekomme ich sowohl in editBooks.jsf als auch in listBooks.jsf Warnungen angezeigt das bookListBean und bookBean nicht "resolved" werden können.

Woran kann das liegen? Wäre für jede Hilfe Dankbar!

Projektaufbau:
Code:
JSFTest
-src
--de.JSFLibrary.library
---Book.java
---BookList.java
---SimulateDB.java
--Libraries
-build
--...
-WebContent
--META-INF
---MANIFEST.MF
--WEB-INF
---lib
----MyFaces Libraries
---faces-config.xml
---web.xml
--editBooks.jsf
--index.jsf
--listBooks.jsf

faces-config.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
	<application> 
		<locale-config>   
			<default-locale>de_DE</default-locale>   
			<supported-locale>de</supported-locale>  
		</locale-config>
	</application>

	
	<navigation-rule>
		<description>List of books</description>
		<from-view-id>/listBooks.jsf</from-view-id>
		<navigation-case>
			<from-outcome>editBook</from-outcome>
			<to-view-id>/editBook.jsf</to-view-id>
		</navigation-case>
	</navigation-rule>

	<navigation-rule>
		<description>Add or edit a book</description>
		<from-view-id>/editBook.jsf</from-view-id>
		<navigation-case>
			<from-outcome>listBooks</from-outcome>
			<to-view-id>/listBooks.jsf</to-view-id>
			<redirect />
		</navigation-case>
	</navigation-rule>

	
	<managed-bean>
		<description>Book bean</description>
		<managed-bean-name>bookBean</managed-bean-name>
		<managed-bean-class>de.jSFLibrary.library.Book</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

	<managed-bean>
		<description>BookList Bean</description>
		<managed-bean-name>bookListBean</managed-bean-name>
		<managed-bean-class>de.jSFLibrary.library.BookList</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>

</faces-config>

web.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>JSFLibrary</display-name>
	<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>
	<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>sample.jsp</welcome-file>
	</welcome-file-list>
</web-app>

editBooks.jsf
Code:
<%@ page language="java"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Add / Edit a book</title>
</head>
<body>
<f:view>
	<h:form>
		<h:inputHidden id="id" value="#{bookBean.id}" />
		<h:panelGrid columns="2" border="1">
			<h:outputText value="Author:" />
			<h:inputText id="author" value="#{bookBean.author}">
			</h:inputText>
			<h:outputText value="Title:" />
			<h:inputText id="title" value="#{bookBean.title}">
			</h:inputText>
			<h:outputText value="Available:" />
			<h:selectBooleanCheckbox id="available" value="#{bookBean.available}" />
		</h:panelGrid>
		<h:commandButton value="Save" action="listBooks"
			actionListener="#{bookBean.saveBook}" />
	</h:form>
</f:view>
</body>
</html>

listBooks.jsf
Code:
<%@ page language="java"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>List of books</title>
</head>
<body>
<f:view>
	<h:form id="bookList">
		<h:dataTable id="books" value="#{bookListBean.books}" var="book"
			border="1">
			<h:column>
				<f:facet name="header">
					<h:outputText value="Author" />
				</f:facet>
				<h:outputText value="#{book.author}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Title" />
				</f:facet>
				<h:outputText value="#{book.title}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Available" />
				</f:facet>
				<h:selectBooleanCheckbox disabled="true" value="#{book.available}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Edit" />
				</f:facet>
				<h:commandLink id="Edit" action="editBook"
					actionListener="#{bookBean.selectBook}">
					<h:outputText value="Edit" />
					<f:param id="editId" name="id" value="#{book.id}" />
				</h:commandLink>
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Delete" />
				</f:facet>
				<h:commandLink id="Delete" action="listBooks"
					actionListener="#{bookBean.deleteBook}">
					<h:outputText value="Delete" />
					<f:param id="deleteId" name="id" value="#{book.id}" />
				</h:commandLink>
			</h:column>
		</h:dataTable>
		<h:commandLink id="Add" action="editBook"
			actionListener="#{bookBean.initBook}">
			<h:outputText value="Add a book" />
		</h:commandLink>
	</h:form>
</f:view>
</body>
</html>

sampel.jsf
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<jsp:forward page="/listBooks.jsf" />
</body>
</html>
 

Reeny

Aktives Mitglied
Hmmm ... sieht für mich alles richtig aus ...

Deswegen mal ein Schuss ins Blaue:
Haben deine bookListBean und deine bookBean einen leeren Konstruktor?

Kannst du vielleicht auch mal den genauen Wortlaut der Fehlermeldung (Server-Log und/oder angezeigte Fehlerseite) posten?
 

number8

Aktives Mitglied
Stimmt dieses jsp:forward denn? Muss dazu nicht noch was in der web.xml eingetragen werden? *.jsf oder so...
 

Reeny

Aktives Mitglied
Du hast recht! Ist mir gar nicht aufgefallen. Du musst statt

Code:
   <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/faces/*</url-pattern>
   </servlet-mapping>

das schreiben:
Code:
<servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.jsf</url-pattern>
</servlet-mapping>

Aber wenn du's doch weißt, hättest du es doch ausprobieren können, oder ... ? ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Root resource - Klassen werden nicht gefunden. Allgemeines EE 2
E Festlegen ob Datei überschrieben werden soll. Allgemeines EE 1
feinperligekohlensaeure JSF Keine Tabelle / Buttons werden unter Windows angezeigt + Apple schon Allgemeines EE 9
F SessionScoped und Stateful EJB: Werte werden nicht behalten Allgemeines EE 3
M Wie werden aktive JEE Applications geupdatet? Allgemeines EE 14
M Daten aus der Resource werden nicht übernommen Allgemeines EE 4
S Eclipse: Teilmodule beim Testen werden nicht gestartet Allgemeines EE 2
aze Tomcat:Error Pages werden nicht angezeigt Allgemeines EE 4
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
D JSF-Tags können nicht aufgelöst werden ? Allgemeines EE 2
J Einige Klassen werden nicht resolved Allgemeines EE 7
P Können abstrakte Klassen über WSDL versendet werden? Allgemeines EE 3
I Klassen werden nicht für Import erkannt eclipse EE Allgemeines EE 2
S In Eclipse werden die "Servlet-Klassen" nicht gefu Allgemeines EE 2
M JSF Bilder werden wegen jsessionid nicht gefunden (nur IE) Allgemeines EE 6
M Resourcen werden in JSP nicht gefunden Allgemeines EE 12
A Wie werden Template Engines unter J2EE umgesetzt? Allgemeines EE 3
S tomcat pfad anpassen, von dem webinhalte gelesen werden Allgemeines EE 2
S tomcat pfad anpassen, von dem webinhalte gelesen werden Allgemeines EE 4
Q FileUpload/Download Files im Webroot werden gelöscht Allgemeines EE 4
G Änderungen an Jsps werden manchmal nicht übernommen. Allgemeines EE 3
P Umlaute werden falsch übergeben Allgemeines EE 4
J JSP Problem mit Image-Generierung (war: JSP werden nicht...) Allgemeines EE 10
S Änderungen werden nicht wirksam! Allgemeines EE 16
J Formular aktualisieren-Daten werden erneut in DB geschrieben Allgemeines EE 6
B Servlets werden gemappt --- aus und schluß, so ist es! Allgemeines EE 4
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
D Beans vs. managed Beans vs. backing Beans Erklärung Allgemeines EE 6
N JSF - Frage zu Managed Beans und DataTable Allgemeines EE 4
R Zugriff auf Managed Bean aus einem Filter Allgemeines EE 2
K JSF - Zugriff auf Managed Beans Allgemeines EE 2
D JSF CDI @Inject No eligible for injection beans are found Allgemeines EE 8
J CDI fähige Beans und @ Inject Allgemeines EE 3
I Session löschen in Bean (Session Beans) Allgemeines EE 1
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
L JSP: Dynamischer Content mit Beans für einen Konfigurator? Allgemeines EE 0
G JSF Beans nicht angezeigt Allgemeines EE 2
Java.getSkill() Anwendung Beans für Formulare Allgemeines EE 5
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
D Frage zum Statefull Session Beans Lebenszyklus Allgemeines EE 3
K EJB Enterprise Java Beans Allgemeines EE 32
F Beans Allgemeines EE 6
M Müssen Backing Beans serialisierbar sein? Allgemeines EE 7
S In einer Bean-Methode an ndere Beans kommen Allgemeines EE 7
S EJB Entity Beans -> CMP Allgemeines EE 11
S JSP - Veständnisproblem mit Beans Allgemeines EE 9
N Verständnis Beans und Taglibs Allgemeines EE 4
G Struts beans Allgemeines EE 7
G DB Connection mit Java Beans Allgemeines EE 6
P Wie Log4J in JSP's, Beans und Servlets am besten einbinden Allgemeines EE 2
T GUI-Nachrichten mit Message Driven Beans? Allgemeines EE 6
T Grundlegendes Verständnis - Beans, JSP und Servlets Allgemeines EE 3
G Persistenz-Entscheidung (Entity Beans, Hibernate, JDBC) Allgemeines EE 12
T XML, Beans, Datenbank. Kann mir jemand helfen? Allgemeines EE 5
K Enterprise Java Beans Allgemeines EE 7
TRunKX Mein Tomcat findet die Beans nicht was nu? Allgemeines EE 2
G Listenfeld mit Struts und Beans realisieren Allgemeines EE 4
T Verständnisfrage zu Beans Allgemeines EE 8
S J2EE, Java - Beans, Datenbankzugriff, JSP Allgemeines EE 7
S [JSP Beans]Variable auslesen Allgemeines EE 3
J Java Beans Allgemeines EE 7
A Brauche ich J2EE für Beans? Allgemeines EE 9
M Entity Beans: Rückgabe von Collectionen an Client Allgemeines EE 2
P Session Beans importieren Allgemeines EE 2
T JSP: Wo liegen die Beans Allgemeines EE 5

Ähnliche Java Themen

Neue Themen


Oben