<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 閱讀(734) 評論(0)  編輯  收藏 所屬分類: Ajax個人學習日記GWT
    主站蜘蛛池模板: 菠萝菠萝蜜在线免费视频| 亚洲国产天堂在线观看| 亚洲精品中文字幕无码A片老| 国产精品久久免费| 亚洲六月丁香六月婷婷色伊人| 一级毛片在线免费看| 久久亚洲国产精品成人AV秋霞| 久久久久免费看黄a级试看| 亚洲国产精品婷婷久久| 88av免费观看入口在线| 亚洲人成高清在线播放| 日韩电影免费在线| 国产精品亚洲色图| 亚洲乱码国产乱码精品精| 国产无遮挡无码视频免费软件| 亚洲AV午夜福利精品一区二区 | 亚洲精品久久无码| 国产精品高清全国免费观看| 免费VA在线观看无码| 日日噜噜噜噜夜夜爽亚洲精品| 免费国产成人午夜在线观看| 亚洲国产韩国一区二区| 女人毛片a级大学毛片免费| 国产亚洲精品成人久久网站| 久久久久亚洲精品天堂久久久久久| 成人久久免费网站| 久久精品国产亚洲av麻豆图片| 色www永久免费视频| 久久成人永久免费播放| 亚洲国产精品人久久| 日韩午夜免费视频| 视频免费在线观看| 亚洲xxxx18| 久久久久久亚洲精品不卡| 2020因为爱你带字幕免费观看全集 | 亚洲精品国产高清嫩草影院| 男的把j放进女人下面视频免费| 亚洲国色天香视频| 亚洲精品在线视频| 亚洲免费二区三区| 美女被免费视频网站a|