Archive for April 8th, 2008

Belajar wicket

Membuat aplikasi berbasis web dengan wicket relatif mudah. Yang perlu dilakukan adalah :

  • Download wicket dari sini
  • Setup project dengan IDE favorit. (bisa Idea, Eclipse, Netbeans, ataupun yang lainnya.. Emacs, Vim :D )
  • Extract wicket dan tambahkan library ke project. ( wicket, wicket-extensions, slf4j-api: yang ini harus search deh )
  • Set web.xml. Untuk versi 1.3, wicket sudah memakai filter, selain pilihan menggunakan servlet. contohnya adalah :
    <web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns<img src='http://catatankecil.masdrag.com/smilies/yahoo_love.gif' alt='&#58;&#120;' class='wp-smiley' width='18' height='18' title='&#58;&#120;' />si="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;
    &lt;display-name&gt;Contoh App&lt;/display-name&gt;
    &lt;description&gt;;Contoh Aplikasi&lt;/description&gt;
    &lt;filter&gt;
    &lt;filter-name&gt;AppFilter&lt;/filter-name&gt;
    &lt;filter-class&gt;org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class&gt;
    &lt;/filter&gt;
    &lt;init-param&gt;
    &lt;param-name&gt;applicationClassName&lt;/param-name&gt;
    &lt;param-value&gt;contoh.ContohApplication&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;filter-mapping&gt;
    &lt;filter-name&gt;AppFilter&lt;/filter-name&gt;
    &lt;url-pattern&gt;/*&amp;&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;
    &lt;/web-app&gt;
  • Buat class contoh.ContohApplication, seperti para web.xml diatas. File ini adalah pintu dari aplikasi dengan framework wicket. Class ini nantinya akan memanggil class lain yang merupakan turunan dari WebPage untuk menjadi page pertama yang muncul dari aplikasi. Contoh :
    package contoh;
    import org.apache.wicket.protocol.http.WebApplication;
    import org.apache.wicket.Session;
    import org.apache.wicket.Request;
    import org.apache.wicket.Response;
    import contoh.Hello;
    public class ContohApplication extends WebApplication {
    @Override
    public Class getHomePage() {
    return Hello.class;
    }
    }
  • Seperti dapat dilihat diclass ContohApplication, ada method getHomePage yang di override untuk mengeluarkan Hello.class. Secara defaul, aplikasi akan memanggil method getHomePage, jadi selanjutnya adalah membuat class Hello yang merupakan turunan dari WebPage. Contoh :
    package contoh;
    import org.apache.wicket.markup.html.basic.Label;
    class Hello extends WebPage {
    public Hello() {
    add(new Label("hello","HELLO"));
    }
    }
  • Langkah terakhir adalah membuat html page sebagai tampilan dari page yang sudah kita buat. Wicket akan mencari file html dengan nama yang sama dengan class yang tadi kita bikin. Jadi sekarang kita buat file Hello.html.
    &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
    &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;head&gt;
    &lt;title&gt;Hello&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
    &lt;span wicket:id="hello"&gt;[Hello]&lt;/span&gt;
    &lt;/body&gt;

There you go. Aplikasi siap dijalankan.

Sedikit penjelasan, ketika html di parse oleh wicket, wicket akan mencari id yang sama dengan yang ada di class, jadi seperti contoh diatas, pada class ada deklakasi penambahan komponen Label ke page add(new Label("hello","HELLO")) dan pada html <span wicket:id="hello">[Hello]</span>. Secara otomatis, wicket akan merubah wicket:id=”hello” menjadi string Hello.

Enjoy.

Tags: , ,

Perlukah blok youtube gara-gara fitna ?

Fitna itu lebih kejam daripada pembunuhan.. our own proferb ;)

Saya belum nonton film fitna yang menghebohkan itu, dan memang tidak kepengen menonton. Paling-paling isinya provokasi, sama seperti banyak kasus sebelumnya. Nothing new.

Kasus pelecehan dan penyerangan terhadap Islam sudah ada sejak jaman pertengahan, sejak eropa mulai melakukan kampanye untuk menyerang jerusalem dan dilanjutkan dengan kampanye kolonialisasi. Kepentingannya jelas, untuk membuat publik mendukung kampanye tersebut.

Tapi untuk dewasa ini, kepentingannya sudah tidak terlalu jelas lagi dan bagi kita umat Islam, cukup asumsikan saja bahwa hal-hal seperti ini termasuk hate speech. Orang yang membuat provokasi dan penyerangan terhadap Islam tersebut adalah orang yang membenci Islam. Dan bagi seseorang yang membenci sesuatu, sesuatu itu tidak akan pernah terlihat baik dimatanya.

So, ada dua alternatif untuk Islam hater. Pertama adalah memberikan pengertian bagaimana Islam itu sebenarnya, atau yang kedua cuekin saja.

Saya lebih memilih alternatif kedua. Sebabnya sudah jelas, orang yang tidak menyukai Islam, diberi pengertian bagaimanapun, akan tetap tidak suka. So why bother ? Penduduk dunia ini ada lebih dari 6 milyar orang, jadi arena dakwah masih sedemikian luasnya..

Kedua, bagi orang-orang lain, banyak sekali sumber informasi tentang Islam ada di penjuru dunia ini, dari buku-buku, para cendekia di berbagai akademi baik institusi formal maupun non formal, maupun menggunakan teknologi yang sudah umum, internet.

Jadi kalau ada orang menganggap film fitna atau kartun denmark itu sebagai analisa mendalam dan menyeluruh terhadap ajaran agama Islam dan mengambilnya sebagai fakta tidak terbantahkan, well, it’s his/her loss, not Islam’s loss.

Jadi bagaimana dengan youtube dan yang lainnya ? Tidak perlu diblokir.. Hal-hal seperti ini akan lebih mendewasakan umat Islam dengan sendirinya. Kalau terlalu dilindungi ‘emosi’nya, yang ada umat Islam akan terus emosional jika ada yang menyinggung.

Tags: ,