java隨記

          堅持就是勝利!

           

          ejb3 jsf實用實例


          有朋友問到使用ejb3時關于jsf實現多行選擇編輯記錄的問題。其實按照jsf編程模型也只不過按部就班而已,沒有什么好多說的。還是看實例好了。

          一,創建表格,插入兩條記錄備用.

              create table "spring"."dbo"."product"(

                  "productid" int not null,

                 "category" varchar(10) not null,

                 "name" varchar(80) null,

                 "descn" varchar(255) null,

                  constraint "PK__product__05D8E0BE" primary key ("productid")

          )

          insert into product (1,’圖書’,’計算機應用’,計算機工業出版社’)

          insert into product (2,’圖書’,’計算機組成原理’,計算機工業出版社’)

          二,ejb3的實現

          1,             創建一個實體Product 沒什么好多說的,只是多增加了一個boolean屬性 editor,并且加了@Transient注釋用以說明該屬性不是持久化字段,增加該字段的目的也僅僅是為了判斷哪些記錄被選中了,以便處理選中了記錄.

          2,             創建會話bean

                  接口

            package ejb;

          import java.util.List;

           

          public interface ProductDao {

             

          public List getProducts() throws Exception;

             

                     public void saveProducts(List<entity.Product> products) throws Exception;

           

                    package ejb;

          Bean

          import javax.ejb.*;

          import java.util.List;

          import java.util.Iterator;

          import javax.persistence.EntityManager;

          import javax.persistence.PersistenceContext;

          import javax.persistence.Query;

          import entity.Product;

          @Stateful

          @Remote(ProductDao.class)

          public class ProductDaoBean {

           

           

              @PersistenceContext

              protected EntityManager em;

             

             

             

           public List getProducts()throws Exception{

              

                 

                   Query query = em.createQuery("from Product");

                   List list = query.getResultList();

                   em.clear();

                   return list;

             

          }

           

           

           public void saveProducts(List<Product> products){

           for(Iterator<Product> it = products.iterator();it.hasNext();){    

               Product p = it.next();

               em.merge(p);

           }

          }

          }

           

          3,             jsf頁面跟backing bean 前面兩篇blog也說過這方面的類容,沒什么好說的,也就不好了。

          需要說明的是本例服務器采用jboss5.0,數據庫用的MS SQL2000.完整實例下載

          posted on 2007-06-25 09:00 傻 瓜 閱讀(1491) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(7)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 铁岭市| 宜宾市| 沐川县| 拉萨市| 茶陵县| 灵武市| 朝阳县| 宁武县| 木里| 永寿县| 兴海县| 巧家县| 东平县| 岱山县| 林周县| 福安市| 两当县| 会昌县| 库车县| 大安市| 洪雅县| 平罗县| 绥棱县| 景德镇市| 陕西省| 康保县| 克东县| 高青县| 莱州市| 宁远县| 都匀市| 尼木县| 泾川县| 龙陵县| 麻栗坡县| 凤庆县| 株洲市| 泗阳县| 西青区| 宜君县| 宜昌市|