<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    struts 2.0 數據校驗的另一種方式

    com.test.action.user包下:
           SaveUserAction.java
          SaveUserAction-validation.xml

    SaveUserAction.java文件的內容:

    package com.test.action.user;

    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;

    import com.opensymphony.xwork2.ActionSupport;
    import com.test.bean.User;
    import com.test.service.UserService;

    public class SaveUserAction extends ActionSupport
    {
    private User user;
    private UserService service;

    public User getUser()
    {
       return user;
    }

    public void setUser(User user)
    {
       this.user = user;
    }

    public UserService getService()
    {
       return service;
    }

    public void setService(UserService service)
    {
       this.service = service;
    }

    @Override
    public String execute() throws Exception
    {
       this.service.save(this.user);

       return SUCCESS;
    }

    @Override
    @SuppressWarnings("unchecked")
    public void validate()
    {
       Map map = this.getFieldErrors();
       Set set = map.keySet();

       for (Iterator iter = set.iterator(); iter.hasNext();)
       {
        System.out.println(map.get(iter.next()));
       }
    }
    }

    SaveUserAction-validation.xml的文件內容:
      

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"    " <validators>
    <field name="user">
       <field-validator type="visitor">
        <param name="context">user</param>
        <param name="appendPrefix">true</param>
        <message>user's </message>
       </field-validator>
    </field>
    </validators>    

    com.test.bean包下的文件:
           User.java;
           User-user-validation.xml

    User-user-validation.xml文件的內容:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "

    <validators>
    <field name="firstname">
       <field-validator type="requiredstring">
        <message>required first name</message>
       </field-validator>
    </field>

    <field name="lastname">
       <field-validator type="requiredstring">
        <message>required last name</message>
       </field-validator>
    </field>

    <field name="age">
       <field-validator type="required">
        <message>required age</message>
       </field-validator>
       <field-validator type="int">
        <param name="min">1</param>
        <param name="max">150</param>
        <message>age should be between ${min} and ${max}</message>
       </field-validator>
    </field>

    </validators>

    還有一個問題,就是校驗信息會重復,在錯誤的情況下。由以下代碼可以測試:

    @Override
    @SuppressWarnings("unchecked")
    public void validate()
    {
       Map map = this.getFieldErrors();
       Set set = map.keySet();

       for (Iterator iter = set.iterator(); iter.hasNext();)
       {
        System.out.println(map.get(iter.next()));
       }
    }
    }

    解決方法:
          applicationContext.xml 文件中的配置action中加入:Struts 2.0 的action 是有狀態的 在spring 配置的action 中加上 scope="prototype";

    配置如下:<bean id="saveUserAction" class="com.test.action.user.SaveUserAction" scope="prototype">
    <property name="service" ref="userService"></property>
    </bean>

    posted on 2010-05-12 23:12 smallfa 閱讀(174) 評論(0)  編輯  收藏 所屬分類: SSH

    <2010年5月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    公告

    smallfa
    博客園
    C++博客
    博客生活
    Blogjava
    足球博客
    微博
    Redsaga

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    Ajax

    Blogs

    DB

    java

    Open source

    ORM

    Tools/Help

    vedio Tech

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码专区在线观看亚| 两个人看的www免费高清| 亚洲国产成人久久综合碰| 中文字幕免费在线观看动作大片| 免费看内射乌克兰女| 国产亚洲一区二区三区在线观看| 亚洲国色天香视频| 暖暖免费高清日本中文| 中文字幕在线免费播放| ASS亚洲熟妇毛茸茸PICS| 亚洲精品偷拍视频免费观看| 91精品导航在线网址免费| 久久久久亚洲国产AV麻豆 | 亚洲AV无码专区在线厂| 亚洲国产精品va在线播放| 免费a级毛片高清视频不卡| 五级黄18以上免费看| 亚洲成a人不卡在线观看| 亚洲狠狠爱综合影院婷婷| 性短视频在线观看免费不卡流畅| 亚洲网址在线观看你懂的| 在线免费观看污网站| 成人久久免费网站| 韩国亚洲伊人久久综合影院| 2022年亚洲午夜一区二区福利| 全部免费毛片在线播放| 黄页网址在线免费观看| 亚洲youjizz| 亚洲国产成人高清在线观看| 免费无码成人AV片在线在线播放| 33333在线亚洲| 全免费a级毛片免费看不卡| 一级毛片免费观看不卡视频| 免费国产在线精品一区 | 久久亚洲AV成人无码| 亚洲av区一区二区三| 亚洲视频免费一区| 亚洲精品无码久久久久YW| 亚洲高清资源在线观看| 亚洲国产精品乱码一区二区 | 国产成人精品久久亚洲|