隨筆-75  評論-193  文章-5  trackbacks-0

                  看了Seam的例子,也看了Seam的簡介,禁不住手癢,還是先做一個(gè)例子吧,遵照《seam_reference》第三章中的指導(dǎo),使用JBossTool生成了自己的第一個(gè)例子,過程如下:

          1、生成Sem web項(xiàng)目

          step1

          2、輸入項(xiàng)目的相關(guān)信息,如下圖:

          step2

                注意,如果是第一次使用Eclipse,需要配置Target Runtime和Target Server。

          3、然后一路next,到最后一步時(shí),如果是第一次使用,也要注意配置Seam Runtime和Connection Profile,如下圖。最后點(diǎn)擊finish按鈕,即可創(chuàng)建Seam項(xiàng)目。

          step3

          4、生成項(xiàng)目后,在Eclipse中共出現(xiàn)了四個(gè)項(xiàng)目,如下:

          • seamfirst (web項(xiàng)目)
          • seamfirst-ear (ear項(xiàng)目,集成web和ejb)
          • seamfirst-jar (ejb項(xiàng)目)
          • seamfirst-test (測試項(xiàng)目,進(jìn)行單元測試)

                此時(shí)運(yùn)行JBossServer服務(wù)器,訪問http://localhost:8080/seamfirst鏈接,出現(xiàn)如下圖頁面,此時(shí)Seam幫我們生成了一個(gè)框架,包含了基本的登錄和退出功能,還有一個(gè)首頁。

          step5

          5、繼續(xù)!使用Seam生成單表的CRUD操作。本步驟前提,有一個(gè)mysql數(shù)據(jù)庫,數(shù)據(jù)庫中有一個(gè)Customer表,該表有ID(int類型)、customername(varchar2類型)、customerdesc(varchar2類型)、createdate(date類型)、email(varchar2類型)五個(gè)字段。在seamfirst項(xiàng)目上點(diǎn)擊右鍵,選擇Seam Generate Entities菜單,彈出界面如下圖:

          step6

          step7

                單擊finish按鈕后,再運(yùn)行JBoss Server服務(wù)器,訪問http://localhost:8080/seamfirst,發(fā)覺菜單欄上多了一個(gè)Customer List菜單,單擊此鏈接,即可進(jìn)行Customer的添加、刪除、修改、查詢操作,雖然生成的界面不是很好看,也不是很符合我自己的操作習(xí)慣,但是功能倒是完備。

                以后若是修改了Seam提供的代碼自動生成的模板,然后再使用該功能,想必生成的頁面就符合自己的項(xiàng)目要求了,記下一筆,先不管它。

           

          生成的代碼分析:

          生成的代碼主要有兩部分,一部分為Java代碼,一部分為頁面代碼。

          Java代碼包括如下三個(gè)類:

          • Customer.java ---- 實(shí)體類,映射到數(shù)據(jù)庫中的Customer表。
          • CustomerHome.java ---- SessionBean,提供了Customer類的創(chuàng)建、更新、刪除功能。繼承了org.jboss.seam.framework.EntityHome類,EntityHome類中提供創(chuàng)建、更新、刪除等基本功能。
          • CustomerList.java ---- SessionBean,提供了Customer類的查詢功能。繼承了org.jboss.seam.framework.EntityQuery類,EntityQuery類中提供了查詢功能。

                CustomerHome和CustomerList類中都使用了@Name annotation,這樣在頁面中就可以直接訪問Session Bean中的方法了,達(dá)到了Seam將表現(xiàn)層和業(yè)務(wù)層直接融合的目標(biāo)。

          頁面代碼包括如下文件:

          • Customer.xhtml
          • Customer.page.xml
          • CustomerEdit.xhtml
          • CustomerEdit.page.xml
          • CustomerList.xhtml
          • CustomerList.page.xml

                剛開始看這段代碼時(shí),困惑我的有兩個(gè)地方

          • 一個(gè)是CustomerList.xhtml中rich:dataTable的value為"#{customerList.resultList}",customerList我明白指的是CustomerList SessionBean,但是我看遍了其代碼,也沒有發(fā)現(xiàn)有resultList屬性,后來仔細(xì)一看,才發(fā)覺該屬性在其父類EntityQuery中。
          • 另一個(gè)是每一個(gè)xhtml文件都有一個(gè)對應(yīng)的page.xml文件,想了半天也沒整明白這是怎么回事,后來只好繼續(xù)看Seam in Action的第三章,看著看著終于明白了,原來這是Seam對JSF的一個(gè)擴(kuò)展,增強(qiáng)了JSF的功能,具體含義后面詳細(xì)解釋。

          至此第一個(gè)使用JBossTools生成的Seam例子完成了,好像很簡單 :-)

          posted on 2008-12-09 22:40 The Matrix 閱讀(2140) 評論(1)  編輯  收藏 所屬分類: JBoss Seam/JSF

          評論:
          # re: JBossSeam學(xué)習(xí)系列之三--第一個(gè)例子 2011-04-19 10:23 | 小雪
          你好,我按照您的步驟做到了
          4、生成項(xiàng)目后,在Eclipse中共出現(xiàn)了四個(gè)項(xiàng)目,如下:

          seamfirst (web項(xiàng)目)
          seamfirst-ear (ear項(xiàng)目,集成web和ejb)
          seamfirst-jar (ejb項(xiàng)目)
          seamfirst-test (測試項(xiàng)目,進(jìn)行單元測試)
          這步驟之后,在瀏覽器上輸入 http://localhost:8080/seamweb 的時(shí)候,怎么發(fā)布不出來呀,我的jboss已經(jīng)啟動了。找不出原因,幫幫忙好嗎,謝謝  回復(fù)  更多評論
            
          主站蜘蛛池模板: 屏东市| 余江县| 五常市| 海宁市| 灵丘县| 常德市| 布尔津县| 卢氏县| 专栏| 上虞市| 锦州市| 客服| 文化| 福海县| 招远市| 芦溪县| 迁西县| 寿阳县| 蒙山县| 西丰县| 金秀| 日土县| 枣阳市| 乌拉特中旗| 文水县| 永昌县| 涟水县| 年辖:市辖区| 新竹县| 上高县| 茂名市| 通道| 湘乡市| 凤冈县| 清河县| 富锦市| 镇江市| 偏关县| 海淀区| 泸西县| 潼关县|