隨筆 - 9, 文章 - 0, 評論 - 3, 引用 - 0

          導航

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          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是不是合并或者在哪個層面上進
          行轉換。

          posted on 2007-10-29 15:54 空杯 閱讀(330) 評論(0)  編輯  收藏 所屬分類: Struts

          主站蜘蛛池模板: 广饶县| 隆林| 麻栗坡县| 洱源县| 宁蒗| 安多县| 额尔古纳市| 岗巴县| 鞍山市| 绩溪县| 营山县| 张掖市| 萨嘎县| 仁寿县| 灵山县| 河源市| 随州市| 巴东县| 金昌市| 乌审旗| 山西省| 汽车| 当雄县| 长岛县| 晋城| 岗巴县| 连城县| 盘山县| 敦煌市| 武城县| 乌海市| 林芝县| 日照市| 会理县| 河西区| 武城县| 平远县| 屏山县| 铜川市| 罗甸县| 福贡县|