2010/7/6 Mudzakkir Toha <[email protected]> > > > [Attachment(s) from Mudzakkir Toha included below] > > Author blog tersebut memposting hal ini pada bulan 3 tahun 2010. > ExtJS and Spring MVC Framework: CRUD DataGrid Example > Posted on : 22-03-2010 | By : Loiane | In : ExtJS, Grid > Saya kurang tahu apakah postingan tersebut uptodate atau tidak. Mungkin > ada benarnya bahwa postingan itu out of date.
Walaupun postingnya baru, bisa aja dia pakai library atau teknik lama. Contohnya ini : http://www.theserverside.com/tutorial/Mapping-Columns-and-Mapping-Files-with-Hibernate-35 20 Juni 2010, tapi coding Hibernate pakai XML. Saya sudah lihat source codenya Loiane, berikut URLnya : 1. Controller: yang menerima request dari ExtJS http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/web/ContactController.java 2. Controllernya Loiane cuma forwarder aja dan gak ngapa2in. Dia akan menyuruh Service untuk bekerja 3. Ini class Service http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/service/ContactService.java Service akan mengkonversi dulu JSON menjadi object Contact menggunakan Util. Setelah itu baru disave menggunakan Dao. 4. Ini Util http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/util/Util.java 5. Ini Dao http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/dao/ContactDAO.java > > suatu record tanpa merefresh halaman. Refresh atau tidak refresh tidak ada hubungannya dengan HTTP Get. > Maaf kak, bisa dijelaskan tidak, konsep nya?? Bisa digambarkan tidak?? > Jika memakai JSP biasa kan jika ingin men-delete saja, misalkan maka > yang dilakukan adalah: > mengirimkan ID dari suatu record. > Setelah dikirim, form yang akan memproses meng-get ID yang dikirimkan, > lalu proses hapus record. > Setelah itu, me-redirect ke suatu form yang lain, biasanya adalah List > dari record yang telah dihapus. Sama aja sebetulnya, cuma bedanya, setelah delete, bukan redirect ke halaman lain, melainkan langsung aja return String ok atau error. Di kodenya Loiane, begitu klik tombol Delete, kode ini akan dijalankan : http://github.com/loiane/extjs-crud-grid/blob/master/WebContent/js/crud-grid.js#L137 Dia akan memanggil method deletenya Store, yang mana akan mengakses URL contact/delete.action http://github.com/loiane/extjs-crud-grid/blob/master/WebContent/js/crud-grid.js#L27 Ini akan menjalankan HTTP Request, yang akan diterima method delete controller http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/web/ContactController.java#L75 Kemudian dilempar ke class Service di baris 82 http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/web/ContactController.java#L82 Ini method di class service http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/service/ContactService.java#L75 Setelah diambilin id yang mau didelete menggunakan Util di sini http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/util/Util.java#L84 kemudian didelete menggunakan dao http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/service/ContactService.java#L83 Ini kode di dao untuk mendelete. http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/dao/ContactDAO.java#L53 Setelah delete, set pesan sukses di controller http://github.com/loiane/extjs-crud-grid/blob/master/src/com/loiane/web/ContactController.java#L85 Lalu return sebagai JSON, jadinya seperti ini { success: true } Ini dibaca sama ExtJS, kalau error dia display msg, kalo sukses diam saja. > Bisa tolong digambarkan?????? Bagaimana mungkin diagram yang > menggambarkan proses CRUD dengan Javascript?? Nah, sudah saya jelaskan, coba kamu yang gambar, trus dishare ke kita semua. > > Sepaham saya, jika memakai javascript itu, kita melakukan Get pada saat > akan memasuki halaman, setelah masuk, maka tidak akan ada get lagi. > Misalkan aplikasi FB yang lumayan memakai javascript, setelah kita > memasuki profile kita (melakukan GET), maka setelah masuk form tersebut > kita bebas melakukan : > Create Read Update Delete Status kita. > Nah, untuk CRUD ngirim data ke server gak? Kalo ngirim, gimana caranya kalo gak pakai GET/POST? > Nah, kembali ke kasus ini tadi, misalkan ada sebuah form dengan > javascript. maka controller yang akan menangani CRUD tersebut apakah > menggunakan Get???? Misalkan ketika update saja. Atau delete. Apakah hal > itu termasuk Get? Ini namanya belum mengerti konsep HTTP Protocol. Setiap request ke server menggunakan protokol HTTP ya pasti menggunakan salah satu command GET,POST,PUT, dsb Coba baca2 di sini dulu : http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol > > Lalu kasus ini itu solusinya bagaimana kak??? > Saya juga mencoba untuk saya rubah view-nya menjadi item/view. Project > yang tadinya sudah bisa, kok menjadi error juga??? > Menurut saya ini adalah kasus karena penamaan yang menggunakan special > character. > Lalu saya mengubah nama viewnya menjadi > itemView > Saya coba lagi... > Menunggu sebentar, akhirnya adalah: > > Alhamdulillah bisa. > > Result saya : kasus ini adalah karena penamaan view yang tidak memenuhi SNI > sehingga "jangan memasukkan bom ke dalam rumah Anda, ya..." > Source code aplikasi yang sengaja saya buat salah (menggunakan penamaan > item/view) saya upload di sini dengan nama file : ExtJSCRUDGridSalah > > Source code aplikasi yang sudah saya rubah (sudah jadi) menggunakan penamaan > itemView saya upload di sini dengan nama file : extjs-crud-grid > Ya sudah kalo item/view tidak bisa ya jangan dipaksa. Memangnya ada keharusan pakai nama itu? Tapi sebaiknya sih jangan pakai lagi JsonView. Jackson lebih bagus http://jackson.codehaus.org/ Ini contoh cara pakainya http://blog.anthonychaves.net/2010/02/01/spring-3-0-web-mvc-and-json/ -- Endy Muhardin http://endy.artivisi.com Y! : endymuhardin -- life learn contribute --

