<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
    主站蜘蛛池模板: 中国videos性高清免费| 亚洲字幕AV一区二区三区四区| 一级中文字幕免费乱码专区| 香蕉高清免费永久在线视频| 久久人午夜亚洲精品无码区| 青青草国产免费久久久91| 亚洲国产欧洲综合997久久| 在线观看永久免费视频网站| 色偷偷亚洲第一综合网| 亚洲精品一级无码中文字幕| 国产精品免费久久| 亚洲欧洲第一a在线观看| 中文字幕影片免费在线观看| 中文字幕亚洲综合小综合在线 | 羞羞漫画小舞被黄漫免费| 国产成人免费片在线视频观看| 在线观看亚洲免费视频| 亚洲成人一区二区| 国产啪精品视频网站免费尤物| 久久久久久亚洲精品中文字幕 | h视频免费高清在线观看| 人人狠狠综合久久亚洲婷婷| h片在线免费观看| 午夜亚洲国产理论片二级港台二级| 亚洲国产精品视频| 久草免费福利资源站| 亚洲一区二区三区无码国产 | 免费无码又爽又刺激高潮| 一本久久A久久免费精品不卡| 亚洲av中文无码乱人伦在线咪咕 | 亚洲精品无码永久在线观看| 亚洲免费人成在线视频观看| 亚洲人成网站色在线观看| 亚洲精品动漫人成3d在线| 外国成人网在线观看免费视频| 亚洲综合精品伊人久久| 亚洲中久无码永久在线观看同| 免费观看激色视频网站bd| 国产精品久久久久久亚洲小说| 亚洲天天在线日亚洲洲精| 日本免费中文字幕在线看|