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:
faces-config.xml
web.xml
editBooks.jsf
listBooks.jsf
sampel.jsf
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>