<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

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一卡2卡3卡4卡5卡6卡| 亚洲精品自拍视频| 亚洲AV无码成人精品区日韩| 亚洲一区在线免费观看| 亚洲av永久中文无码精品综合 | 日韩精品人妻系列无码专区免费| 亚洲熟妇丰满多毛XXXX| 老司机精品免费视频| 中文字幕在线免费| 亚洲欧洲精品在线| 好大好硬好爽免费视频| 亚洲人成电影在线播放| 亚洲制服中文字幕第一区| 国产精品高清视亚洲精品| 99视频在线精品免费观看6| 亚洲一久久久久久久久| 亚洲国产成人VA在线观看| 亚洲剧场午夜在线观看| 久久久久免费看黄A片APP| 综合一区自拍亚洲综合图区| 99久久免费观看| 亚洲熟妇成人精品一区| 四虎永久免费地址在线网站 | 免费毛片在线看片免费丝瓜视频| 亚洲a级成人片在线观看| 青草草在线视频永久免费| 国产精品亚洲а∨无码播放麻豆 | 亚洲国产精品成人| 久久爰www免费人成| 日韩亚洲精品福利| 国产亚洲玖玖玖在线观看| 免费欧洲毛片A级视频无风险| 一本岛v免费不卡一二三区| 免费A级毛片无码A| 亚洲一日韩欧美中文字幕在线| 免费a级黄色毛片| 一级毛片免费观看| 亚洲AV色欲色欲WWW| 亚洲福利在线视频| 日韩精品无码免费一区二区三区| 亚洲精品无码永久在线观看男男|