2009/1/30 Chandra. <chandra.haria...@yahoo.co.id>: > > maaf ternyata blom dikasih Getter an Setter untuk List <Kategori> > kategoriesnya... ^^ > Dah bisa nampilin semua data Kategorinya... > Thank's yach ka jecki > ---------------------------------------------------------- > Oh yach, aq kn dah coba2 Server Side validationnya Struts2, tapi masih rada > bingung... > kalo pengen bikin validasi kita harus sediain file validators.xml yagh di > WEB-INF/classes-nya ? > > kita di Struts2 juga masih tetep butuh lib xwork.jar yach untuk validasinya? > xwork.jar itu sebenernya untuk Struts1 ato Struts2 yach? > (saya pikir xwork.jar itu identik dengan Struts1)... >
xwork itu dipakai oleh framework webwork, dan struts2 itu adalah evolusi dari webwork. > trus file validators.xml tersebut perlu didaftarin ke struts.xml ato > web.xmlnya gak yach? > cara daftarinnya gimna yach? validators.xml ga perlu didaftarin. asalkan nama file-nya 'validators.xml' dan ada di classpath maka akan di-detect langsung oleh struts2. buktinya kamu dapet error kan waktu kamu tambahin validators.xml. > ==================================================================== > sementara ini sih saya bikin validators.xml (di WEB-INF/classes)nya seperti > ini : > <!DOCTYPE validators PUBLIC > "-//OpenSymphony Group//XWork Validator Definition 1.0//EN" > "http://www.opensymphony.com/xwork/xwork-validator-definition-1.0.dtd"> > <validators> > <validator name="required" > class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/> > <validator name="requiredstring" > class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/> > </validators> > > dan di struts.xml (di WEB-INF/classes)nya seperti ini : > > <?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> > <constant name="struts.enable.DynamicMethodInvocation" value="false"/> > <constant name="struts.devMode" value="true"/> > > <package name="latihan" namespace="/kategori" extends="struts-default"> > <action name="new" > class="com.tugasakhir.action.KategoriForm"> > <result type="velocity">/kategori/add.vm</result> > </action> > <action name="add" class="com.tugasakhir.action.AddKategori"> > <interceptor-ref name="validation"/> > <result name="input" type="velocity">/kategori/add.vm</result> > <result name="error" type="velocity">/kategori/add.vm</result> > <result type="velocity">/kategori/addSuccess.vm</result> > </action> > </package> > </struts> > > di file localhost.lognya muncul pesan seperti ini : > http://www.nabble.com/file/p21747831/localhost.2009-01-30.log > localhost.2009-01-30.log > dari error di log file keliatan bahwa error-nya adalah pada saat parser mencoba mem-validasi file xml-nya (dalam hal ini file 'validators.xml'). error-nya karena parser tidak bisa menemukan file di alamat url "http://www.opensymphony.com/xwork/xwork-validator-definition-1.0.dtd". kemungkinannya bisa karena pada saat menjalankan aplikasi kamu ga punya koneksi internet, atau memang file tersebut tidak ada. biasanya untuk xml validation yg menggunakan DTD maka pembuat framework akan menyertakan DTD di dlm jar-nya, dan juga library parser xml menyediakan fitur untuk mapping URL tertentu ke file di classpath. dengan adanya fitur ini maka kita ga perlu punya koneksi ke internet untuk mengambil file DTD yang dibutuhkan, tapi program akan mengambil file DTD dari komputer local (dari dalam classpath). mengenai isu kamu saya liat di internet memang ada bug di xwork (http://jira.opensymphony.com/browse/XW-590). kalau diliat dari penjelasannya sepertinya dia akan terus coba untuk mengambil dari internet. isu ini sudah di-solve di xwork 1.2.4 (bisa diliat di halaman web yg sama). jadi pastikan bahwa xwork.jar kamu versinya sama dengan ato lebih besar dari 1.2.4. mudah2an bisa jalan lancar. disclaimer: solusi di atas blom g coba sendiri. ini hanya berdasarkan analisa dan asumsi g aja. try at your own risk. huehehe..