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..

Kirim email ke