<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JSF2.0初探

    Posted on 2010-07-09 12:51 無很 閱讀(4226) 評論(2)  編輯  收藏

    一直想研究Java JSF,上網找了下,遺憾的是國內JSF的資料少的可憐.于是上網找了參考點資料,去官方網站下載了JSF的開發包.廢話少說,看配置.

    一,配置JSF

    把JSF2.0內的兩個開發包jsf-api.jar,jsf-impl.jar拷貝到Eclipse項目的lib目錄中(建立web項目略). 在web.xml中添加以下內容:

    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>

    <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
    </context-param>

    <context-param>
    <param-name>com.sun.faces.resourceUpdateCheckPeriod</param-name>
    <param-value>-1</param-value>
    </context-param>

    <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>*.do</url-pattern> <!--此處名字可以隨便起,可以是*.action,*.faces 等 我習慣用*.do-->
    </servlet-mapping>

    這樣jsf框架已經添加進項目中了.接下來就要建立Bean了.如下所示:

    package com.joy.jsf.beans;

    //@ManagedBean(name="users") jsf2.0可以不用配置文件來管理bean
    public class User {

    private String userName;
    private String userPassword;
    private String errorMessage;

    public String getErrorMessage() {
    return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
    this.errorMessage = errorMessage;
    }

    public String getUserName() {
    return userName;
    }

    public void setUserName(String userName) {
    this.userName = userName;
    }

    public String getUserPassword() {
    return userPassword;
    }

    public void setUserPassword(String userPassword) {
    this.userPassword = userPassword;
    }

    public String Check() {
    if (!this.userName.equals("JOY") || !this.userPassword.equals("123456")) {
    this.errorMessage = "名稱或密碼錯誤";
    return "failure";
    } else {
    return "success";
    }
    }
    }

    之后要定制導航規則,新建face-config.xml 如下所示:

    <faces-config>
    <!-- <application>
    <variable-resolver>
    org.springframework.web.jsf.DelegatingVariableResolver
    </variable-resolver>
    </application> -->
    <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/pages/welcome.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>failure</from-outcome>
    <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>

    <!--<managed-bean> <managed-bean-name>users</managed-bean-name> <managed-bean-class>
    com.joy.jsf.beans.User </managed-bean-class> <managed-bean-scope>request</managed-bean-scope>
    </managed-bean> -->
    </faces-config>

    配置文件建立完了,添加view頁面. index.jsp和welcome.jsp

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="f" uri=">
    <%@ taglib prefix="h" uri="
    >
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>首頁</title>
    </head>
    <body>
    <f:view>
    <h:form>
    姓名:<h:inputText value="#{users.userName }" /><br/>
    密碼:<h:inputText value="#{users.userPassword }"></h:inputText><br/>
    <h:commandButton value="submit" action="#{users.Check}"></h:commandButton>
    <br/>
    <h:outputText value="#{users.errorMessage}"/><p>

    </h:form>
    </f:view>
    </body>
    </html>

    welcome.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="f" uri="
    >
    <%@ taglib prefix="h" uri="
    >
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>歡迎回來</title>
    </head>
    <body>
    <f:view>
    <h:form>
    Hello <h:outputText value="#{users.userName }"></h:outputText> ,Welcome to here!

    </h:form>
    </f:view>
    </body>
    </html>

    保存,部署,運行http://localhost:8080/JSF/index.do

    二,整合Spring

    添加spring開發包,spring.jar,stadard.jar,commons-logging.jar,jstl.jar

    web.xml 添加如下配置

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

    <listener>
    <description>添加Srping支持</description>
    <display-name>Spring</display-name>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    然后在face-config.xml中添加

    <application>
    <variable-resolver>
    org.springframework.web.jsf.DelegatingVariableResolver
    </variable-resolver>
    </application>

    從spring工廠中獲取bean ,如果和jsf的托管bean一起使用,則托管bean的優先級要高于spring.

    添加applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns=" xmlns:xsi="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    http://www.springframework.org/schema/tx

    <bean id="users" class="com.joy.jsf.beans.User">

    </bean>
    </beans>

    重新部署,運行.

    OK.

    Feedback

    # re: JSF2.0初探  回復  更多評論   

    2012-04-24 22:16 by 位忠生
    您好,我一直進不去jsf 2.0的下載頁,請問可以把包發到郵箱嗎,謝謝

    # re: JSF2.0初探  回復  更多評論   

    2012-04-24 22:17 by 位忠生
    不好意思忘了說郵箱了,我的郵箱是weilaosi2008@163.com@位忠生

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 羞羞视频在线免费观看| 亚洲午夜久久久久久尤物| 亚洲jizzjizz少妇| 成人片黄网站A毛片免费| 亚洲第一二三四区| 无码精品人妻一区二区三区免费看 | 国产精品久久久久免费a∨| 亚洲视频在线视频| 99久久精品免费精品国产| 91大神亚洲影视在线| 69式国产真人免费视频| 亚洲13又紧又嫩又水多| 免费无码看av的网站| 免费无码午夜福利片| 亚洲综合伊人久久综合| 久久久久久久99精品免费观看 | 亚洲免费视频播放| 亚洲二区在线视频| 国产精品免费视频一区| 亚洲sm另类一区二区三区| 亚洲女人被黑人巨大进入| 在线看片免费人成视频福利| 久久精品国产96精品亚洲 | 亚洲av永久无码嘿嘿嘿| 18禁成年无码免费网站无遮挡| 色五月五月丁香亚洲综合网| 亚洲精品tv久久久久久久久久| 你懂的网址免费国产| 亚洲福利一区二区三区| 日韩毛片免费在线观看| 成人无码视频97免费| 91亚洲国产在人线播放午夜| 午夜高清免费在线观看| 一级做性色a爰片久久毛片免费| 亚洲国产精品国自产电影| 在线精品免费视频| 久久国产乱子伦精品免费午夜| 亚洲狠狠狠一区二区三区| 亚洲午夜福利精品久久| 99xxoo视频在线永久免费观看| 亚洲AV永久无码天堂影院|