JSF2.0初探

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

          一直想研究Java JSF,上網(wǎng)找了下,遺憾的是國內(nèi)JSF的資料少的可憐.于是上網(wǎng)找了參考點(diǎn)資料,去官方網(wǎng)站下載了JSF的開發(fā)包.廢話少說,看配置.

          一,配置JSF

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

          <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 等 我習(xí)慣用*.do-->
          </servlet-mapping>

          這樣jsf框架已經(jīng)添加進(jìn)項(xiàng)目中了.接下來就要建立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 = "名稱或密碼錯(cuò)誤";
          return "failure";
          } else {
          return "success";
          }
          }
          }

          之后要定制導(dǎo)航規(guī)則,新建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>

          保存,部署,運(yùn)行http://localhost:8080/JSF/index.do

          二,整合Spring

          添加spring開發(fā)包,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的優(yōu)先級要高于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>

          重新部署,運(yùn)行.

          OK.

          Feedback

          # re: JSF2.0初探  回復(fù)  更多評論   

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

          # re: JSF2.0初探  回復(fù)  更多評論   

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 饶阳县| 文安县| 清苑县| 菏泽市| 合肥市| 杂多县| 上高县| 华宁县| 隆子县| 镇宁| 新郑市| 兴文县| 如东县| 丹东市| 北安市| 乌兰察布市| 寻甸| 全椒县| 同江市| 北辰区| 兰坪| 马龙县| 象山县| 开鲁县| 拉孜县| 荆州市| 新绛县| 麦盖提县| 女性| 嘉黎县| 古田县| 凤山市| 义乌市| 土默特左旗| 原平市| 泰州市| 大余县| 饶平县| 张掖市| 霍州市| 武乡县|