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

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

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

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1
    今天研究struts2的標簽功能,在用checkboxlist的時候,
    代碼如下
    <s:checkboxlist list="roles" listKey="id" listValue="name" name="selectRoleId"></s:checkboxlist>
    出現了如下異常:

    org.apache.jasper.JasperException: tag 'checkboxlist', field 'list', name 'selectRoleId': The requested list key 'roles' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:
    541)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
    435)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
    320)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:
    266)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:
    803)
        org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:
    154)
        org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:
    186)
        com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:
    361)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    265)
        com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:
    249)
        org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:
    68)
        com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:
    87)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:
    122)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:
    195)
        com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:
    87)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:
    195)
        com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:
    87)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:
    148)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:
    93)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:
    235)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:
    89)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:
    128)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:
    104)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:
    267)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:
    126)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:
    138)
        com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:
    87)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:
    148)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:
    164)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:
    128)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:
    176)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.interceptor.TokenInterceptor.handleValidToken(TokenInterceptor.java:
    178)
        org.apache.struts2.interceptor.TokenInterceptor.doIntercept(TokenInterceptor.java:
    144)
        com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:
    87)
        com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
    236)
        org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:
    52)
        org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:
    468)
        org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:
    77)
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:
    76)
    出現這個錯誤的原因可能如下:

    1 剛進入該界面的時候發生錯誤,原因是 list="roles"中的這個集合是空的,導致錯誤

    解決辦法很簡單,不能讓list為空

    2 剛進入該界面的時候list是有數據的,當點擊提交等按鈕的時候,數據被提交到后臺,如果配置了驗證框架或者在action中寫了validate方法,校驗沒有通過,未走action,直接返回了input,又指定回了當前界面。
    此時的checkboxlist中的list丟失了,導致了如上錯誤(這個錯誤提示的不太友好,讓人認為是類轉換錯誤)

    解決辦法是把初始化list的工作放到prepare攔截器中,因為prepare是在validate攔截器之前執行,即實現prepareble接口:
    public class RoleAction extends ActionSupport implements Preparable{
        @Override
        
    public void prepare() throws Exception {
            
    //初始化list
        }
    }

    Feedback

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2009-04-23 17:55 by weid
    good!問題解決,謝謝樓主!

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2009-07-06 00:09 by mega
    寫了 RoleAction 之后,怎么用?

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄[未登錄]  回復  更多評論   

    2009-09-07 08:24 by King
    非常感謝,我終于找到了錯誤的原因

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2009-11-16 22:02 by ddq
    感謝,一樣的錯誤

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2010-01-18 09:21 by 11
    謝謝樓主。

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2010-06-22 23:02 by Eric_jiang
    我也遇到這個問題 謝謝指教

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2010-07-27 13:14 by South
    大頂樓主!

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2010-10-20 17:25 by jwshuang21
    還有可能是傳入的參數在ACTION中沒有定義全局變量。

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2010-10-26 23:57 by j
    太感謝了一只在想這個問題

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2011-01-15 17:26 by ZJY
    問題解決,太感謝樓主了

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2011-05-20 10:01 by 任超
    我剛遇到這個問題,請問怎么去解決呀 新手 請教了!
    加QQ 280096669

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2011-05-20 10:08 by 任超
    有沒有詳細點的!

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄[未登錄]  回復  更多評論   

    2012-05-16 20:51 by 袁勇
    樓主已經超神了!

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2012-10-31 16:13 by ww
    神一般樓主啊

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2013-05-02 00:00 by woshishui
    這是什么意思?

    # 菜鳥求助!!!  回復  更多評論   

    2013-11-12 18:36 by jackLin
    樓主,這個問題我糾結一天了,希望您能指導指導啊!!!

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2014-01-05 13:54 by 公子
    這樣寫的話,豈不是action中的每一個方法都會出現初始化一遍

    加一個判斷是妥妥的

    # re: 關于struts2的checkboxlist、select等標簽發生could not be resolved as a collection/array/map/enumeration/iterator type異常的記錄  回復  更多評論   

    2014-04-10 11:40 by 游客
    問題搞定,神一般樓主啊,謝謝樓主。
    主站蜘蛛池模板: 久久99九九国产免费看小说| 7m凹凸精品分类大全免费| 搡女人真爽免费视频大全| 亚洲乱码一二三四区国产| 99久久国产热无码精品免费| 亚洲偷偷自拍高清| 最近中文字幕免费mv视频8| 中国亚洲呦女专区| 日韩电影免费在线| 日韩大片免费观看视频播放| 亚洲性久久久影院| 亚洲免费人成在线视频观看| 久久亚洲AV成人无码电影| 国内精品免费麻豆网站91麻豆| 亚洲乱码在线视频| 无码国模国产在线观看免费| 日日狠狠久久偷偷色综合免费| 亚洲午夜福利精品无码| 华人在线精品免费观看| 亚洲午夜国产精品| 国产精品久免费的黄网站| 一级毛片a女人刺激视频免费| 国产aⅴ无码专区亚洲av| 在线a级毛片免费视频| 国产精品亚洲片在线花蝴蝶| 亚洲中文无韩国r级电影| 久99久精品免费视频热77| 亚洲国产熟亚洲女视频| 免费又黄又爽的视频| 亚洲精品免费在线观看| 最新亚洲精品国偷自产在线| 亚洲国产精品毛片av不卡在线 | 成人看的午夜免费毛片| 日韩大片在线永久免费观看网站| 精品亚洲综合久久中文字幕| 91在线品视觉盛宴免费| 羞羞视频免费网站日本| 亚洲国产视频一区| 久久久久亚洲av毛片大| 欧美日韩国产免费一区二区三区| a一级毛片免费高清在线|