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

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

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

    基于上一篇日志的實例的基礎上修改:

    CRUDService.java:

    package client;

    import com.google.gwt.user.client.rpc.ServiceDefTarget;
    import com.google.gwt.user.client.rpc.RemoteService;
    import com.google.gwt.core.client.GWT;

    public interface CRUDService extends RemoteService {
         Student[] getStudent(String PageNum)     ;

        String getPagenum();

        public static class App {
            private static CRUDServiceAsync ourInstance = null;

            public static synchronized CRUDServiceAsync getInstance() {
                if (ourInstance == null) {
                    ourInstance = (CRUDServiceAsync) GWT.create(CRUDService.class);
                    ((ServiceDefTarget) ourInstance).setServiceEntryPoint(GWT.getModuleBaseURL() + "CRUD/CRUDService");
                }
                return ourInstance;
            }
        }
    }


    CRUDServiceImpl.java:

    package server;

    import com.google.gwt.user.server.rpc.RemoteServiceServlet;
    import client.CRUDService;
    import client.Student;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Hibernate;
    import org.hibernate.Query;
    import org.hibernate.cfg.Configuration;
    import java.util.List;
    import java.util.Iterator;

    public class CRUDServiceImpl extends RemoteServiceServlet  implements CRUDService {
        private static final SessionFactory sessionFactory;
        String Pagenum = "1";
        static {
                try {
                    // Create the SessionFactory from hibernate.cfg.xml
                    sessionFactory = new Configuration().configure().buildSessionFactory();
                } catch (Throwable ex) {
                    // Make sure you log the exception, as it might be swallowed
                    System.err.println("Initial SessionFactory creation failed." + ex);
                    throw new ExceptionInInitializerError(ex);
                }
            }

            public static SessionFactory getSessionFactory() {
                return sessionFactory;
            }

        public List ListStudent(String PageNum){
           Session session =  getSessionFactory().getCurrentSession() ;
            session.beginTransaction();
             Query query = session.createSQLQuery("select * from t_student")
            .addScalar("id", Hibernate.LONG)
            .addScalar("name", Hibernate.STRING)
            .addScalar("email", Hibernate.STRING);
            int PageSize = 10;

            try{
                if (Integer.parseInt(PageNum)!=0 | PageNum!=null ){
                query.setFirstResult((Integer.parseInt(PageNum)-1) * PageSize);
                query.setMaxResults(PageSize);
                }else{
                query.setFirstResult(0);
                query.setMaxResults(PageSize);
                }
            }catch(Exception e){
                query.setFirstResult(0);
                query.setMaxResults(PageSize);
            }
            List ls = query.list();
            session.getTransaction().commit();
            return ls;
        }

        public int CountStudent(){
           Session session =  getSessionFactory().getCurrentSession() ;
            session.beginTransaction();
             List ls = session.createSQLQuery("select count(*) from t_student").list();
            session.getTransaction().commit();
            return Integer.parseInt(ls.iterator().next().toString());
        }

            public Student[] getStudent(String PageNum){
                 this.setPagenum(PageNum);
                 Student[] student = new Student[this.CountStudent()];
                int i = 0;
              for(Iterator it = this.ListStudent(PageNum).iterator();it.hasNext();i++) {
                 Object[] ob = (Object[] )it.next();
                    student[i]=new Student(ob[0].toString(),ob[1].toString(),ob[2].toString());
                  
              }

                 return student;
              }

         public void setPagenum(String pagenum){
             this.Pagenum = pagenum;
         }

        public String getPagenum() {
            return Pagenum;  //To change body of implemented methods use File | Settings | File Templates.
        }

    }


    CRUDServiceAsync.java :

    package client;

    import com.google.gwt.user.client.rpc.AsyncCallback;

    public interface CRUDServiceAsync {

        void getStudent(String PageNum, AsyncCallback async);

        void getPagenum(AsyncCallback async);
    }

    CRUD.java :

    package client;

    import com.google.gwt.core.client.EntryPoint;
    import com.google.gwt.user.client.ui.*;
    import com.google.gwt.user.client.rpc.AsyncCallback;

    public class CRUD implements EntryPoint {
        private CRUDServiceAsync  crudServiceAsync ;
        VerticalPanel main = new VerticalPanel();
        FlexTable lb = new FlexTable();
        HorizontalPanel hp = new HorizontalPanel();
        Button nextpage = new Button("nextpage");
        Button prepage = new Button("prepage");
        private String pagenum = "1";

        public void setPagenum(String pagenum){
            this.pagenum=pagenum;
        }
        public String getPagenum(){
            return this.pagenum;
        }
        int  prepagenum = 1;
        int  nextpagenum =1;

        public void onModuleLoad() {
            main.add(lb);
            main.add(hp);
            hp.add(prepage);
            hp.add(nextpage);
            RootPanel.get().add(main);
            showstudentlist("1");

           prepage.addClickListener(new ClickListener(){
           public void onClick (Widget sender){
           prepagenum = Integer.parseInt(getPagenum())-1;
           showstudentlist(String.valueOf(prepagenum));
           }
         });

         nextpage.addClickListener(new ClickListener(){
          public void onClick (Widget sender){
           nextpagenum = Integer.parseInt(getPagenum())+1 ;
         showstudentlist(String.valueOf(nextpagenum));
          }
          });
     
        }

         private void  showstudentlist(String pagenum) {
             CRUDService.App.getInstance().getStudent(pagenum,new AsyncCallback(){
                      public void onFailure(Throwable caught) {
                      }
                      public void onSuccess(Object result) {
                        Student s[] = ( Student[])result ;
                          for (int i=0;i<=s.length;i++){
                              lb.setText(i,0,s[i].id);
                              lb.setText(i,1,s[i].name);
                              lb.setText(i,2,s[i].email);
                          }
                      }
                  });

            CRUDService.App.getInstance().getPagenum(new AsyncCallback(){
                public void onFailure(Throwable caught) {}
                public void onSuccess(Object result) {
                       setPagenum((String)result);
                }
            });

        }

    }


    posted on 2008-11-08 15:25 lzj520 閱讀(735) 評論(0)  編輯  收藏 所屬分類: Ajax個人學習日記GWT
    主站蜘蛛池模板: 国产福利免费视频 | 成人免费视频88| 亚洲色图校园春色| 一个人免费视频观看在线www| 国产成人亚洲精品影院| 永久免费无码日韩视频| 中文字幕第13亚洲另类| 久久久免费观成人影院| 亚洲色婷婷综合久久| 另类免费视频一区二区在线观看 | 1000部拍拍拍18免费网站| 亚洲欧洲在线播放| 精品国产无限资源免费观看| 色老板亚洲视频免在线观| 久久精品a一国产成人免费网站| 国产精品亚洲四区在线观看| 天天天欲色欲色WWW免费| 亚洲丶国产丶欧美一区二区三区| 在线日韩av永久免费观看| 国产黄在线观看免费观看不卡| 好看的电影网站亚洲一区| 久久免费观看国产精品88av| 亚洲精品国产啊女成拍色拍| 黄瓜视频高清在线看免费下载| 成人亚洲国产精品久久| 国产成人综合亚洲AV第一页 | 亚洲av无码乱码国产精品| 一本岛高清v不卡免费一三区| 亚洲字幕AV一区二区三区四区| 国产一区二区三区无码免费| 国产日韩久久免费影院| 久久精品国产亚洲AV麻豆网站| 成人免费无码大片a毛片软件| 四虎影视在线看免费观看| 亚洲欧洲日韩不卡| 青青青青青青久久久免费观看| 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 国产亚洲精品观看91在线| 国产成人免费在线| 美女裸免费观看网站| 亚洲国产综合专区在线电影|