base on OpenSymphony's xwork1.2.5