1.開發(fā)環(huán)境
? ?與Eclipse下Struts的開發(fā)類似,安裝好Eclipse和Tomcat之后,還需要兩個插件:tomcat 插件和JSF插件(如果相關(guān)插件還沒有安裝),以下是相關(guān)下載地址:
? ? Eclipse SDK:
? ? ? ?
http://www.eclipse.org/downloads/index.php?
? ? JSF:
? ? ?https://sourceforge.jp/projects/amateras/files/ ?
? ? ? FaceIDE+htmlEditor,htmlEditer也是必要的
? ? Tomcat :
? ? ? ? ?
http://www.sysdeo.com/eclipse/tomcatplugin?
? ? Plugin Search:
? ? ? ? ?
http://eclipse-plugins.2y.net/eclipse/search.jsp?
? ?插件的安裝和配置有問題請直接Google。
2.開始
? ? 入門嘛,我們就找一個最簡單的Login就可以了
? ? 新建Tomcat project
? ? 加入JSF支持
? ? 新建一個ManagedBean:
/**
?*
?*/
package com.jsf;
/**
?* @author lzy
?*
?*/
public class UserBean {
private String name;
? ? private String password;
public String verify() {
? ? ?if(this.name.equals("name")&&this.password.equals("password"))
? ? ?
? ? ? ? return "failure";
? ?else
? ? ? ? return "success";
}
?
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the password.
*/
public String getPassword() {
return password;
}
/**
* @param password The password to set.
*/
public void setPassword(String password) {
this.password = password;
}
}
? ? ?新建兩個JSP頁面,login.jsp,welcom.jsp
login.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="
http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="
http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="
http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="
http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<link href="main.css" rel="stylesheet"/>
<title></title>
</head>
<body>
? ? <f:view>
? ? <f:loadBundle basename="com.jsf.MessageResources" var="msgs"></f:loadBundle>
? ?
? ? ? ? <h:form>
? ? ? ? <h:panelGrid columns="3" headerClass="header" rowClasses="evenRow,oddRow">
? ? ? ? <f:facet name="header" >
? ? ? ? <h:outputText value="#{msgs.header}"/>
? ? ? ? </f:facet>
? ? ? ?
? ? ? ? <h:outputText value="#{msgs.namePromt}"></h:outputText>
? ? ? ? <h:inputText id="name" ?required="true" value="#{user.name}">
? ? ? ? <f:validateLength minimum="2" maximum="10"></f:validateLength>
? ? ? ? </h:inputText>
? ? ? ? <h:message for="name" errorClass="errors"/>
? ? ? ?
? ? ? ?
? ? ? ? <h:outputText value="#{msgs.passwordPromt}"></h:outputText>
? ? ? ?
? ? ? ? <h:inputSecret id="password" value="#{user.password}" required="true" redisplay="true">
? ? ? ? <f:validateLength minimum="2"></f:validateLength>
? ? ? ? </h:inputSecret>
? ? ? ? <h:message for="password"/>
? ? ? ?
? ? ? ?
? ? ? ? ? ? ? <f:facet name="footer" >
? ? ? ? <h:outputText value="#{msgs.footer}"/>
? ? ? ? </f:facet>
? ? ? ? </h:panelGrid> ? ? ? ? ?
? ? ? ? ? ? <h:commandButton value="#{msgs.submitPromt}" action="#{user.verify}"/>
? ? ? ? ? ? <h:commandButton value="#{msgs.resetPromt}" type="reset"/>
? ? ? ? </h:form>
? ? </f:view>
</body>
</html>
welcome.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="
http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="
http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
</head>
<body>
? ? <f:view>
? ? ? ? <h:outputText value="#{user.name}"/> ?is a good boy!
? ? ? ? <h3>welcome JavaServer Faces</h3>
? ? </f:view>
</body>
</html>
? ? ?編輯WEB-INF/lib下的faces-config.xml
struts-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>/login.jsp</from-view-id>
? ? ? ? <navigation-case>
? ? ? ? ? ? <from-outcome>success</from-outcome>
? ? ? ? ? ? <to-view-id>/welcome.jsp</to-view-id>
? ? ? ? </navigation-case>
? ? ? ? <navigation-case>
? ? ? ? ? ? <from-outcome>failure</from-outcome>
? ? ? ? ? ? <to-view-id>/login.jsp</to-view-id>
? ? ? ? </navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>com.jsf.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
? ? ? ?最后是資源文件
# --login.jsp--
header=Welcom
namePromt=Name:
passwordPromt=Password:
amountPromt=Amount:
datePromt=Date:
submitPromt=Submit
resetPromt=Reset
footer=Thank you!
3.測試
在test工程中選擇tomcat project->Update context definition
然后運(yùn)行Tomcat
http://127.0.0.1:8080/jsfTest/login.jsf