javafever


          我無富貴命,所喜性天然。壁立三千字,家無半吊錢。蟬鳴深巷里,人語短屋前。收拾英雄氣,耕作兩分田。

          ExadelStudio2.5插件使用(三)

          {創(chuàng)建ManagedBean}
          在Exadel下創(chuàng)建一個Managed Bean的方法十分簡單。首先,在包資源管理器下面定位到/WebContent/WEB-INF/faces-config.xml文件,雙擊打開它。默認(rèn)情況下是用源碼方式打開,可以通過窗口下部的“Tree”標(biāo)簽以樹狀圖形方法打開它,定位到“Managed Bean”,點擊右鍵,選擇“New->Managed Bean...”,如下圖:

          Image00000.jpg

          這時Exadel會打開一個對話框要求你輸入這個Managed Bean的存活期、類名稱和名稱等屬性,注意,
          1、請選中“Generate Source Code”選項,Exadel會為你產(chǎn)生類的代碼。
          2、類名稱應(yīng)該是全名,即名括包的名稱。

          Image00003.jpg

          單擊“Finish”按鈕后,可以在包資源管理器里找到這個Managed Bean的源碼文件。

          Image00004.jpg

          Managed Bean 和普通的JavaBean沒有任何區(qū)別,TableTest類只有一個屬性——data,它返回表Authors中的所有記錄,源碼如下(注意使用了前面配置的數(shù)據(jù)源):
          /*
           * TableTest.java
           * javafever @ 2005-8-9
           
          */

          package jtest;

          import java.sql.Connection;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.sql.Statement;

          import javax.naming.Context;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;
          import javax.servlet.jsp.jstl.sql.Result;
          import javax.servlet.jsp.jstl.sql.ResultSupport;
          import javax.sql.DataSource;


          public class TableTest {
              
              
          private Connection con = null
          ;
              
          private Result data = null
          ;
              
              
          public void setData(Result data) 
          {
                  
          this.data =
           data;
              }

              
              
          public void connect() throws SQLException, NamingException {
                  
          if (con != nullreturn
          ;
                  Context ctx 
          = new
           InitialContext();
                  DataSource ds 
          = (DataSource) ctx.lookup("java:comp/env/jdbc/jtest"
          );
                  con 
          =
           ds.getConnection();
              }

              
              
          public void disconnect() throws SQLException {
                  
          if (con != null
          {
                      con.close();
                      con 
          = null
          ;
                  }

              }

              
              
          public Result getData() throws SQLException, NamingException {
                  
          try 
          {
                      connect();
                      Statement stmt 
          =
           con.createStatement();
                      ResultSet rs 
          = stmt.executeQuery("select * from authors"
          );
                      
          return
           ResultSupport.toResult(rs);
                  }

                  
          finally {
                      disconnect();
                  }

                  
              }

              
              
          public TableTest() {
              }

          }


          再次打開faces-config.xml文件,使用“Tree”方式編輯,選中“Managed Bean -> table”,在右邊的“Preperties”編輯區(qū)里增加一個屬性,增加屬性的對話框如下。注意,Value Kind選擇“null-value”。

          Image00010.jpg

          {建立JSP頁面}
          接下來創(chuàng)建頁面來顯示這個表格。(如果按照上一節(jié)創(chuàng)建了/WebContent/index.jsp文件,請先刪除它。)在資源管理器的“/WebContent”節(jié)點上選擇建立JSP文件,對話框如下,注意,Template選擇“JSFBasePage”會生成一些默認(rèn)的代碼,方便你書寫JSP程序。

          Image00005.jpg

          創(chuàng)建的代碼如下:

          Image00007.jpg

          如果你不是使用的“Exadel Studio”透視圖,現(xiàn)在請使用它,并打開“Exadel Palette”視圖。“Exadel Studio”視圖如下,它提供了一些JSF組件的圖標(biāo)。單擊這些圖標(biāo)可以在Jsp編輯器里快速的生成JSF代碼。

          Image00006.jpg

          比如,點擊“dataTable”,生成的代碼如下:

          Image00008.jpg

          最終的代碼:

          <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
          <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

          <html>
              
          <head>
                  
          <title></title>
              
          </head>
              
          <body>
                  
          <f:view>
                      
          <h:dataTable value="#{table.data}" var="data">
                          
          <h:column>
                              
          <f:facet name="header">
                                  
          <h:outputText value="First Name"/>
                              
          </f:facet>
                              
          <h:outputText value="#{data.au_fname}"/>
                          
          </h:column>
                          
          <h:column>
                              
          <f:facet name="header">
                                  
          <h:outputText value="Last Name"/>
                              
          </f:facet>
                              
          <h:outputText value="#{data.au_lname}"/>
                          
          </h:column>
                          
          <h:column>
                              
          <f:facet name="header">
                                  
          <h:outputText value="Phone"/>
                              
          </f:facet>
                              
          <h:outputText value="#{data.phone}"/>
                          
          </h:column>
                          
          <h:column>
                              
          <f:facet name="header">
                                  
          <h:outputText value="Address"/>
                              
          </f:facet>
                              
          <h:outputText value="#{data.address}"/>
                          
          </h:column>
                      
          </h:dataTable>
                  
          </f:view>
              
          </body>    
          </html>
            

          {運行}
          最后,運行/ant/build.xml。啟動Tomcat,訪問http://localhost:8888/jtest/index.jsf,結(jié)果如下:

          Image00011.jpg

          Exadel提供一個Web Browser,通過下面的方式使用。

          Image00012.jpg

          Image00009.jpg



          posted on 2005-08-10 21:03 javaFever 閱讀(754) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 通化县| 罗平县| 平潭县| 城口县| 峡江县| 荥阳市| 昌宁县| 贵德县| 台东县| 六盘水市| 从江县| 富民县| 汝南县| 宜城市| 清水河县| 承德县| 赫章县| 九江县| 高雄市| 德阳市| 锡林郭勒盟| 嫩江县| 呈贡县| 龙游县| 桑日县| 嘉兴市| 泸定县| 哈密市| 集安市| 东至县| 泰宁县| 夏津县| 宝兴县| 洛南县| 木里| 宜州市| 安乡县| 灌阳县| 兰考县| 无锡市| 中西区|