Baru -baru ini saya belajar Easyi dan menemukan itu sangat berguna dan antarmukanya indah. Tuliskan pengalaman belajar Anda di sini. Blog ini menulis SSH dan Easyi untuk mengimplementasikan tampilan pagination Datagrid. Fungsi lain seperti menambahkan, memodifikasi, menghapus, menghapus batch, dll. Akan ditulis satu per satu nanti.
Pertama, mari kita lihat efek untuk dicapai: Ketika 5 baris data ditampilkan per halaman:
Ketika 10 baris data ditampilkan per halaman, efeknya adalah sebagai berikut:
Langkah -langkah spesifik:
1. Unduh Easyi dan Bangun Lingkungan.
2. Bangun proyek SSH, dan struktur direktori seluruh proyek ditunjukkan pada gambar:
3. Buat Table Student di Oracle Database. Dan masukkan 6 baris data berikut. Karena operasi penambahan belum diimplementasikan, tambahkan data ke tabel database terlebih dahulu. Nilai default adalah 5 data per baris, jadi silakan masukkan setidaknya 6 baris data untuk memfasilitasi pengujian paging.
4. Konfigurasi Web.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <Web-app Versi = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http:/www.w3.org/2001 =" http:/www.w3.org/200 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-Sttus2 Filter-> <filter-app_2_5.xsd "> <!-Sttus2 Filter-> <filter-name> <! <filter-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecuteFilter </tiler-class> </tiler> <nilter-Mapping> <nilter-name> struts2 </tilter-name> <ring-pather>/</url-pola> </filter-mapping> <! <listener-class> org.springframework.web.context.contextLoaderListener </engeaner-class> </engeaner> <!-memposisikan lokasi fisik applicationContext.xml-> <param-value> <param-name> ContextConfigLocation </param-name> <parar-value> classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath: classpath. </context-param> </web-app>
5. Konfigurasi ApplicationContext.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-2.4.xsd http:/wwww.spramorker http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/aop:aop: http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx resource = "applicationContext_bean.xml"/> <import resource = "applicationContext_db.xml"/> </tac>
6. Buat Model Class Student.java di com.model
Paket com.model; siswa kelas publik {string studentId; // tombol utama string nama; // nama string gender; // gender string usia; // usia public string getStudentId () {return studentId; } public void setStudentId (String StudentId) {this.studentId = studentId; } public string getName () {return name; } public void setName (name string) {this.name = name; } public string getGender () {return gender; } public void setGender (string gender) {this.gender = gender; } getage string publik () {return usia; } public void setage (String Age) {this.age = usia; }} 7. Hasilkan file pemetaan yang sesuai Student.hbm.xml menurut Student.java
<? XML Versi = "1.0"?> <! Doctype Hibernate-Mapping Public "-// Hibernate/Hibernate Mapping DTD 3.0 // EN" "http://hibernate.sourceForge.net/hibernate-papping-3.0.dtd"> <! --><hibernate-mapping> <class name="com.model.Student" table="STUDENT"> <id name="studentid" type="java.lang.String"> <column name="STUDENTID" /> <generator /> </id> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="gender" type = "java.lang.string"> <kolom name = "gender"/> </propert> <name properti = "usia" type = "java.lang.string"> <kolom name = "usia"/> </properti> </belas> </hibernate-mapping>
8. Tulis antarmuka siswa service.java
Paket com.service; import java.util.list; antarmuka publik siswa layanan {daftar publik getStudentList (halaman string, baris string) melempar pengecualian; // ambil data sesuai dengan halaman, dan dapatkan data dari setiap halaman int getStudentTotal () melempar pengecualian; // statistik berapa banyak data yang ada di total}} 9. Tulis antarmuka kelas implementasi siswa serviceImpl.java
Paket com.serviceImpl; impor java.util.list; impor org.hibernate.SessionFactory; impor com.service.studentservice; siswa kelas publik IIMPL mengimplementasikan Siswa Siswa {swasta sesiFactoryFactory; // Ambil data sesuai dengan halaman, dan dapatkan data untuk beberapa baris per halaman daftar publik getStudentList (halaman string, baris string) {// Tetapkan nilai ketika itu adalah nilai default int currentpage = integer.parseint ((halaman == null || page == "0")? " "0")? daftar pengembalian; } // Statistik Berapa banyak data yang ada dalam total int getStudentTotal () melempar Exception {return this.SessionFactory.getCurrentSession (). Find ("From Student"). Size (); } public sessionFactory getSessionFactory () {return sessionFactory; } public void setSessionFactory (sessionFactory sessionFactory) {this.SessionFactory = sessionFactory; }} 10. Konfigurasikan file konfigurasi untuk menghubungkan ke database applicationContext_db.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-2.4.xsd http:/wwww.spramorker http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/aop:aop: http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http:/www.spramework.org/schema/tx bean-> <bean id = "DataSource" Destroy-Method = "Tutup"> <!-mendefinisikan driver database-> <name properti = "driverclass"> <value> oracle.jdbc.driver.oracledRiver </value> </properti> <!-mendefinisikan url database-> <name properti = "JDBC =" JDBC = "JDBC/JDBC" <value>jdbc:oracle:thin:@localhost:1521:orcl</value> </property> <!-- Define the user name of the database --> <property name="user"> <value>lhq</value> </property> <!-- Define the password of the database --> <property name="password"> <value>lhq</value> </property> <property name="minPoolSize"> <value>1</value> </property> <property name="maxPoolSize"> <value>40</value> </property> <property name="maxIdleTime"> <value>1800</value> </property> <property name="acquireIncrement"> <value>2</value> </property> <property name="maxStatements"> <value>0</value> </property> <nama properti = "InitialPoolSize"> <value> 2 </value> </property> <name properti = "idleConnectionTestPeriod"> <value> 1800 </value> </prop Property> <name properti = "AcquireretryAttempts"> <value> </value> </properties name = "breakafteractempts" name = "TestConnectionOnCheckout"> <value> false </ value> </preate> </ bean> <!-mendefinisikan hibernate sessionFactory-> <bean id = "sessionfactory"> <!-define hoBFactory harus disuntikkan ke datasource-> <nama properti = "dataSource"> <refine bean = "--" name/"DataSource"> <refine bean = " Properti SesionFactory-> <nama properti = "hibernateProperties"> <sops> <prop key = "hibernate.dialect"> org.hibernate.dialect.oracle10gdialect </prop> </props> </propert> <! <value>com/model/Student.hbm.xml</value> </list> </property> </bean> <!-- Configure transaction interceptor--> <bean id="transactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx: Metode nama = "save*" propagation = "wajib" /> <!-hanya metode yang dimulai dengan save, hapus, dan pembaruan dapat dilakukan-> <tx: metode nama = "delete*" propagasi = "diperlukan" /> <tx: a adalah "perbarui*" propagasi = "wajib" /> <tx: nama metode = "*" Metode-> </tx: Atribut> </tx: Saran> <aop: config> <aop: pointcut id = "interceptorpointcuts" ekspresi = "eksekusi (*com.serviceImpl ..*.*(..))"/<!-Lokasi Paket yang mengimplementasikan antarmuka kelas-> <aop: advisor-ref = "pointcccept" TX-REFCEC-REFCOCE-"POINT-REFCEC-REFCEC-REFCECOCE-" ADVISOR: ADVISOR-REF = "POINT" TOPLEC-REFCEC-REFCECECOCE- "TOPPEC-REFCECPECPECPECE-" /> </aop: config> </boy>
11. Tuliskan StudentAction.java Jenis di lapisan kontrol
Paket com.action; import java.util.list; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletResponse; impor net.sf.jsoneBject; impor org.apache.log4j.log.sf.jsone; com.service.studentservice; kelas publik StudentAction {static logger log = logger.getLogger (studentaction.class); jsonobject jsonobj pribadi; Private String ROWS; // Jumlah catatan yang ditampilkan pada setiap halaman halaman string pribadi; // halaman apa yang disajikan oleh siswa swasta swasta saat ini, Sahenir_Services; // String Injeksi Ketergantungan // Permintaan Semua Informasi Siswa Publik GetAllstudent () melempar pengecualian {log.info ("permintaan semua informasi siswa"); Daftar daftar = student_services.getstudentlist (halaman, baris); this.tobejson (daftar, student_services.getstudenttotal ()); kembali nol; } // Konversi ke format json public void tobejson (daftar daftar, int total) melempar pengecualian {httpservletResponse response = servletActionContext.getResponse (); HttpservletRequest request = servletActionContext.getRequest (); JsonObject jobj = new jsonobject (); // new a json jobj.accumulate ("total", total); // Total mewakili berapa banyak data yang ada dalam total jobj.accumulate ("baris", daftar); // baris adalah data yang mewakili respons halaman yang ditampilkan. response.getWriter (). write (jobj.tostring ()); // konversi ke format json log.info (jobj.tostring ()); } Public Studentservice getStudent_Services () {return student_services; } public void setStudent_Services (StudentService Student_Services) {this.student_services = student_services; } public void setjsonobj (jsonObject jsonobj) {this.jsonobj = jsonobj; } public void setRows (string rows) {this.rows = baris; } public void setPage (string page) {this.page = page; }} 12. Tulis file konfigurasi injeksi ketergantungan pegas
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-2.4.xsd http:/wwww.spramorker http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/aop:aop: http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http:/www.spramework.org/schema/tx <bean id = "student_service"> <name properti = "sessionfactory"> <ref bean = "sessionfactory"> </ref> </preate> </ bean> <!-control layer Action-> <bean id = "student_action"> <properti name = "student_service"> <referensi bean = "student_service" </bean> </bean> </Baneans </Bean = "Student_Service" </BEAN </BEAN </BEANT/BEAN </BEANT/BEAN </BEAN/BEAN = "Student_Service"
13. Tulis file konfigurasi struts.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype Struts Public "-// Apache Software Foundation // DTD Struts Configuration 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <ping-dt = "Extends =" Extends "" Informasi-> <action name = "getAllStudentAction" Method = "getAllstudent"> <type hasil = "json"> </hasilnya> </chere> </packing> </struts>
14. Tulis JSP ---- Index.jsp
<%@ page language = "java" pageEncoding = "utf-8" iselignored = "false"%> <%string path = request.getContextPath ();%> <%@ taglib prefix = "s" uri = "/struts-tags"%html public html "// w3c////dt1/dtml public html public"-// w3c//dt1 "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = UTF-8 "> <title> box number </title> <!" src = "<%= path%>/js/easyui/jQuery-1.8.0.min.js" charset = "utf-8"> </script> <!-Memperkenalkan jQuery_easyui-> <script type = "Text/Javascript" src = "<%= Path%>/js/js/easyUi/JavaScript" src = "<%= Path%>/js/js/easyUi/Text/JavaScript" src = "<%=" JS/JS/EASYUI/TEXT/JAVASCRIPT " charset = "UTF-8"> </script> <!-Memperkenalkan jQuery_easyui-> <script type = "text/javascript" src = "<%= path%>/js/easyui/jQuery.easyui.min.js" charset = "UTF-8"> </JQRIPY> <!-PENGATUAN = PEXT CHAPTER "-CHARSENISE--UTF-8"> </script> <! src = "<%= path%>/js/easyui/locale/easyui-lang-zh_cn.js" charset = "utf-8"> </script> <!-memperkenalkan format CSS default easyui-blue-> <tautan rel = "stylesheet" type = "teks/css" href = "<%= path%>/js/easyui/tema/default/easyui.css"/> <!-memperkenalkan ikon kecil easyui-> <link rel = "stylesheet" type = "text/css" href = "<%= path%>/js/easyUi/tema/icon.cs) {" JAV/JS/JS/JS/THEPS/THREPS/TEKS/JS/JS/JS/THEPS/TEKS/JS/JS/JS/THEPS/TEKS/JS/JS/JS/JS/THEPS/TEKS = $ ('#myDatagrid'). Datagrid ({title: 'Datagrid instance', IconCls: 'Icon-Ok', Width: 600, PageSize: 5, // Halaman yang dipilih default adalah 5 baris data yang benar, yang akan dipilih sekarang. Tampilkan latar belakang baris. Klapsable: true, // Tampilkan bilah alat tombol lipat: "#tb", // Ini harus digunakan saat menambahkan, menghapus, dan memodifikasi tombol URL: 'getallstudentaction.action', // URL Calls Action Metode LoadMSG: 'Data Loading ...', Singleselect: True, // When True, Anda hanya dapat memilih FitCol Data ... // sortname: 'xh', // kolom mana yang digunakan untuk mengurutkan ketika tabel data diinisialisasi // sortorder: 'desc', // Tentukan urutan pengurutan, yang dapat menjadi 'ASC' atau 'desc' (urutan positif atau terbalik). Remotesort: false, frozencolumns: [[{field: 'ck', centang kotak: true}]], pagination: true, // pagination rownumbers: true // nomor baris}); }); </script> </head> <body> <h2> <b> instance datagrid dari mudah </b> </h2> <table id = "mydatagrid"> <Thead> <tr> <th data-options = "field: 'studentId', lebar: 100, align: 'center'"> nomor siswa </t> <th> Data-options = "Field: 'Name', Width: 100, Align: 'Center'"> Nama </t> <tH data-options = "bidang: 'jenis kelamin', lebar: 100, align: 'center'"> gender </t> <tH data-options = "field: 'usia', lebar: 100, align: 'TAGA'> Usia =" TR> </TR/TR/TR/TR/TR/TR/TR/TR/TR/TR/TR/TR/TR/TAG </TH/TACH </TH/TH/TAG </ </body> </html>15. Mulai program dan masukkan http: // localhost: 8080/easyui/index.jsp untuk pengujian.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.