Subscribe:

Main Menu

Kamis, September 18, 2008

Struts 1 : cara memakai html:select dan html:option collection...

huff... akhirnya bisa juga aku. ini gara-gara blum ngerti cara aturan struts nech.. aku jadi di buat bingung dengan cara penggunaan taglib ini :D. jadi biar aku gak lupa ( maklum aku orang yang pelupa :D ) yach aku tulis aja di sini :). cara untuk memakai nya seperti ini.

sintaks dalam jsp nya kayak gini

<html:select property="selectedEmployee">
<html:options collection="employees" property="employee"/>
</html:select>


nach di lihat dari sintaknya ini, seharusnya udah tahu ya. jadi akan ada dua action. action pertama adalah untuk mengisi data collection (employees). dan action kedua adalah hasil pilihan dari user ( selectedEmployee ). kecuali kalo tujuannya cuma pengen nampilkan aja. jadi gak perlu action kedua, untuk menyimpan hasil pilihan dari user :D.

untuk mengisi data di collectionnya. caranya yaitu di letakkan di dalam Action pertama. misalnya namanya EmployeeAction. di dalam method execute harus di kasih code untuk mengisi datanya, dan yang paling penting nech ya.. ini yang bikin aku bingung :D. harus di set nilai baliknya ( request dari action ). jadi contohnya kayak gini nech.


public ActionForward execute(ActionMapping mapping, ActionForm frm,
HttpServletRequest req, HttpServletResponse res) {
List isi=new ArrayList();
Employee emp=new Employee();
emp.setEmployee("bastomi");
Employee emp1=new Employee();
emp1.setEmployee("ali");
isi.add(emp);
isi.add(emp1);
req.setAttribute("employees", isi);
return mapping.findForward("success");
}


nach yang aku kasih cetak tebal itu yang aku maksud.. ghahahaha...

kembali ke sintaks di atas tadi :D

<html:options collection="employees" property="employee"/>

Ket :
collection=employees itu di isi harus sama dengan yang ini req.setAttribute("employees", isi);

property="employee
" itu harus di samkan dengan klas Employee. brarti di dalam klas employee itu harus ada bean yang namanya employee

masalah konfigurasi di struts-config.xml nya. aku rasa sama saja :D. jadi gak perlu kayaknya :D

0 komentar: