Ini merupakan salah satu favorit saya yang ada di Struts yaitu ActionMapper. Biar lebih jelas berikut saya kutip sedikit dari dokumentasi Struts2. ActionMapper interface menyediakan pemetaan antara HTTP Request dan Action Invocation Request atau sebaliknya. Lebih sederhananya dengan mengimplementasikan ActionMapper ini kita dapat menentukan action class yang akan dieksekusi berdasarkan HttpServletRequest yang kita terima. Sebagai contoh saya ingin mengubah gaya url seperti berikut ini
http://domain/project/employe?id=1234
menjadi
http://domain/project/employe/1234
sehingga saya menentukan bahwa baris setelah nama project merupakan nama action (/employee) dan baris setelah nama action adalah id (/1234). Berikut kodenya
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
Selanjutnya tinggal mendaftarkan ActionMapper dengan menambahkan properti pada struts.properties
struts.mapper.class=com.mervpolis.dwx.struts.mapper.MyCustomMapper
atau dalam struts.xml
1
|
|
Kemudian action class cukup membuat method setId(String id) untuk mendapatkan id dari url, tidak hanya action class, dengan memanipulasi ActionMapper ini kita dapat pula menentukan method yang akan dieksekusi ketika action class dipanggil.