用tomcat6013+myeclispe55m1+jsf12 开发jsf
首先请确保你已安装jdk1.5或以上版本、tomcat6
然后到http://java.sun.com 网上去下载jsf1.2x版本
(此处说明一下!现在网上有sun提供的基础:jsf-ri和apache 开源提供扩展版本的myfaces)[小生在这里可是吃了不少苦头,如果你要做个通用的jsf,建议用jsf-ri]
JSF1.2 开发的lib 只需要jsf-api.jar、jsf-impl.jar、jstl.jar、standart.jar四个,此外还需要web-facesconfig_1_0.dtd、web-facesconfig_1_1.dtd、XMLSchema.dtd
JSF1.2是不需要jsf_core.tld和html_basic.tld,加进去会出错
具体路径如下所示:
-web-inf
-lib
+ jsf-api.jar
+ jsf-impl.jar
+ jstl.jar
+ standart.jar
+ web-facesconfig_1_0.dtd
+ web-facesconfig_1_1.dtd
+ XMLSchema.dtd
+ web.xml
+ faces-config.xml
现在让我们来开始第一个简单的JSF吧
1、managedBean
java 代码
- package com.fangbiao.jsf;
- import java.io.Serializable;
- /**
- * @author Administrator
- *
- */
- public class User implements Serializable{
- private String name;
- private String psw;
- public User(){}
- /**
- * 用于登陆判断
- * @return
- */
- public String login(){
- if(psw != null && name.equals("fangbiao"))
- return "sucess";
- return "failure";
- }
- /**
- * @return name
- */
- public String getName() {
- return name;
- }
- /**
- * @param name 要设置的 name
- */
- public void setName(String name) {
- this.name = name;
- }
- /**
- * @return psw
- */
- public String getPsw() {
- return psw;
- }
- /**
- * @param psw 要设置的 psw
- */
- public void setPsw(String psw) {
- this.psw = psw;
- }
- }
2、定义两个JSP文件
xml 代码
- (1)index.jsp
- <%@ page language="java" pageEncoding="GBK"%>
- <%@ page contentType="text/html" language="java" %>
- <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
- <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
- <html>
- <head>
- <title>这是我的第一个JSF程序</title>
- </head>
- <body>
- <f:view>
- <h:form>
- 请输入您的姓名:<h:inputText value="#{user.name}"/>
- <br>
- 请输入您的密码:<h:inputSecret value="#{user.psw}"/>
- <br>
- <h:commandButton value="提交" action="#{user.login}"/>
- </h:form>
- </f:view>
- </body>
- </html>
- (2)welcome.jsp
- <%@ page language="java" pageEncoding="GBK"%>
- <%@ page contentType="text/html" language="java" %>
- <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
- <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
- <html>
- <f:view>
- <h:outputText value="欢迎 #{user.name} 来到jsf12新世界"/>
- </f:view>
- </html>
- 3、faces-config.xml和web.xml
- (1)faces-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <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_1_2.xsd"
- version="1.2">
- <!-- 导航规则 -->
- <navigation-rule>
- <from-view-id>/index.jsp</from-view-id>
- <navigation-case>
- <from-outcome>sucess</from-outcome>
- <to-view-id>/welcome.jsp</to-view-id>
- </navigation-case>
- </navigation-rule>
- <!-- 受管的Bean -->
- <managed-bean>
- <managed-bean-name>user</managed-bean-name>
- <managed-bean-class>com.fangbiao.jsf.User</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- </managed-bean>
- </faces-config>
- (2)web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5"
- 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-app_2_5.xsd">
- <context-param>
- <param-name>javax.faces.CONFIG_FILES</param-name>
- <param-value>/WEB-INF/faces-config.xml</param-value>
- </context-param>
- <servlet>
- <servlet-name>fServlet</servlet-name>
- <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>fServlet</servlet-name>
- <url-pattern>*.jsf</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>/index.jsf</welcome-file><!--这里进入项目名总是不能默认时入主页,此处还有待解决-->
- </welcome-file-list>
- </web-app>
- 4、启动Tomcat6服务器进入测试
- 打开E浏览器输入 http://localhost:8080/项目名/index.jsf