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

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

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

    隨筆-61  評論-159  文章-0  trackbacks-0
             在struts2中,一般的action都繼承ActionSupport這個類,可以重寫public void validate()來進行數據校驗,對應提示信息來說一般有兩個比較常用的方法就是this.addFieldError("field name","error message"); 和 this.addActionError("error message");兩個方法。
             由于在ActionSupport這個類實現了ValidationAware接口,接口里面聲明了這兩個方法:
            
    1public void addActionError(String anErrorMessage) {
    2        validationAware.addActionError(anErrorMessage);
    3    }

    4
    5    public void addActionMessage(String aMessage) {
    6        validationAware.addActionMessage(aMessage);
    7    }

    ValidationAwareSupport實現了ValidationAware接口,通過查看ValidationAwareSupport源碼中的兩個錯誤提示方法:
            private Collection actionErrors;
            private Map fieldErrors;

     1public synchronized void addFieldError(String fieldName, String errorMessage) {
     2        final Map errors = internalGetFieldErrors();
     3        List thisFieldErrors = (List) errors.get(fieldName);
     4
     5        if (thisFieldErrors == null{
     6            thisFieldErrors = new ArrayList();
     7            errors.put(fieldName, thisFieldErrors);
     8        }

     9
    10        thisFieldErrors.add(errorMessage);
    11    }

    1public synchronized void addActionError(String anErrorMessage) {
    2        internalGetActionErrors().add(anErrorMessage);
    3    }

    4


    注:由于fielderrors級別是Map類型,所以this.addFieldError("field name","error message"); ,而actionerror級別是Collection級別,所以this.addActionError("error message");

    在實際的項目開發應用中如果同時用到field和action錯誤級別的時候,在jsp頁面中的表單有用到struts2的標簽來實現的話,就有可能對于同一個表單,既有filed級別error提示又有action級別的error提示,這時,可以根據項目的實際需要來取舍,但是如果兩個都要同時存在的時候,只顯示action級別的error,而不顯示field級別的action,由于struts2標簽默認就是顯示field級別的error,所以要修改模板,加入theme="simple"即可,這時struts2表單那標簽默認的顯示field錯誤提示失效,使用這個模板的好處還可以和普通的html一樣隨便設計版面。例如:<s:form action="RegisterAction"theme="simple" >
    PS:要顯示action級別的錯誤提示,需要在jsp頁面中的表單里面加入<s:actionerror/>。

     



    -------------------------------------------------------------------------------------------------
    PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
    posted on 2008-11-27 22:44 apple0668 閱讀(1860) 評論(0)  編輯  收藏 所屬分類: struts2
    主站蜘蛛池模板: 亚洲国产香蕉碰碰人人| 亚洲精品国产电影| 亚洲综合在线视频| 国产免费黄色大片| 亚洲国产综合精品中文第一| 69成人免费视频| 亚洲国产高清在线一区二区三区| 亚洲AV第一成肉网| 又粗又硬免费毛片| 一级毛片a免费播放王色电影| 久久国产精品2020免费m3u8| 久久夜色精品国产噜噜噜亚洲AV| 日韩午夜理论免费TV影院| 亚洲精品一卡2卡3卡三卡四卡| 永久黄色免费网站| 亚洲成av人片天堂网无码】| 亚洲成A∨人片天堂网无码| 成年网站免费入口在线观看| 亚洲精品无码鲁网中文电影| 免费视频成人国产精品网站| 免费无码黄网站在线观看| 亚洲a∨无码精品色午夜| 亚洲国产一区视频| 免费人成视频在线观看网站 | 久久免费美女视频| 国产免费啪嗒啪嗒视频看看| 免费看一级毛片在线观看精品视频| 久久乐国产精品亚洲综合| 日本免费中文视频| 亚洲真人无码永久在线观看| 国产成人精品免费视| 亚洲AV香蕉一区区二区三区| 亚洲日韩aⅴ在线视频| 国产免费久久精品99re丫y| 无遮挡免费一区二区三区| 婷婷亚洲综合五月天小说| 日本免费一区二区久久人人澡 | 亚洲日本一区二区| 免费无码黄网站在线观看| 日本免费高清视频| AV激情亚洲男人的天堂国语|