FormBean 與 POJO 的集成

代碼
<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="user" type="org.layout.model.User"/> </form-bean>
在校驗文件validation.xml中: 代碼
<form name="loginForm"> <field property="user.name" depends="required,minlength,maxlength"> <arg0 key="label.username"/> <arg1 key="${var:minlength}" name="minlength" resource="false"/> <arg2 key="${var:maxlength}" name="maxlength" resource="false"/> <var> <var-name>maxlength</var-name> <var-value>16</var-value> </var> <var> <var-name>minlength</var-name> <var-value>2</var-value> </var> </field> <field property="user.password"  depends="required,minlength,maxlength"> <arg0 key="label.password"/> <arg1 key="${var:minlength}" name="minlength" resource="false"/> <arg2 key="${var:maxlength}" name="maxlength" resource="false"/> <var> <var-name>maxlength</var-name> <var-value>16</var-value> </var> <var> <var-name>minlength</var-name> <var-value>2</var-value> </var> </field> </form>
在action中如下調用: 代碼
        DynaActionForm aForm = (DynaActionForm)form;         ActionMessages messages = form.validate(mapping, request);         if(!messages.isEmpty())         {             saveMessages(request, messages);             return mapping.findForward("prompt");         }         User user = (User)aForm.get("user");         UserDAO userDAO = (UserDAO)getWebApplicationContext().getBean("userDAO");         user = userDAO.get(user.getName(), user.getPassword());
其實這樣子的集成感覺很不錯的,除了少了dto和轉換(至少你要用一個copyProperty吧),pojo實現了序列化,
甚至可以直接深入到Hibernate底層,這樣子就省缺了以前一直討論formbean和po是不是合併或者在哪個層面上進
行轉換。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章