Oops! JSF Quick Start!
Purpose:
學習使用一個JSF
Precondition:
/Files/pixysoft/jsf_simple_lib.part1.rar
/Files/pixysoft/jsf_simple_lib.part2.rar
Reference:
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html#compile
Tutorial:
新建一個項目Dynamic Web Project,名字Oops_JSF

在lib目錄下添加以下jar文件

修改web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<!-- Faces Servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
</web-app>
在WEB-INF目錄下面添加文件faces-config.xml
<?xml version="1.0"?>
<!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>
<navigation-rule>
<from-view-id>/pages/inputname.jsp</from-view-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>jsfks.PersonBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
在WebContent下面添加pages目錄,然后新建2個文件
greeting.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="jsfks.bundle.messages" var="msg"/>
<html>
<head>
<title>greeting page</title>
</head>
<body>
<f:view>
<h3>
<h:outputText value="#{msg.greeting_text}"/>,
<h:outputText value="#{personBean.personName}"/>
<h:outputText value="#{msg.sign}"/>
</h3>
</f:view>
</body>
</html>
inputname.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="jsfks.bundle.messages" var="msg"/>
<html>
<head>
<title>enter your name page</title>
</head>
<body>
<f:view>
<h1>
<h:outputText value="#{msg.inputname_header}"/>
</h1>
<h:form id="helloForm">
<h:outputText value="#{msg.prompt}"/>
<h:inputText value="#{personBean.personName}"/>
<h:commandButton action="greeting" value="#{msg.button_text}"/>
</h:form>
</f:view>
</body>
</html>
在WebContent目錄下面添加一個index.jsp文件
<html>
<body>
<jsp:forward page="/pages/inputname.jsf" />
</body>
</html>
在src目錄下面添加jsfks目錄,再添加PersonBean.java文件
package jsfks;
publicclass PersonBean {
String personName;
/**
*@returnPersonName
*/
public String getPersonName() {
returnpersonName;
}
/**
*@paramPersonName
*/
publicvoid setPersonName(String name) {
personName = name;
}
}
在jsfks目錄下添加bundle目錄,再添加文件messages.properties
inputname_header=JSFKickStart
prompt=Tellusyourname:
greeting_text=WelcometoJSF
button_text=SayHello
sign=!
最后整個文件夾為:

最后Run as … On Server

注意:一定要把之前的server配置刪除,run as 的時候是一個新的server,就因為這個原因我忙了幾個小時,才發現出錯是因為之前存在了另外一個roject在server上,也不提示。
posted on 2007-09-04 18:39
張辰 閱讀(358)
評論(0) 編輯 收藏 所屬分類:
Dr. Oops