<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 游客
    問題搞定,神一般樓主啊,謝謝樓主。
    主站蜘蛛池模板: 曰批全过程免费视频播放网站 | 亚洲人成片在线观看| 四虎影视久久久免费观看| 免费看国产精品3a黄的视频| 亚洲成a人片在线网站| 很黄很黄的网站免费的| 亚洲欧洲视频在线观看| 免费福利在线播放| 亚洲av永久无码嘿嘿嘿| 成年女人毛片免费观看97| 亚洲精品国产首次亮相| 又黄又大又爽免费视频| 国产精品小视频免费无限app| 一区二区免费在线观看| 日本高清免费中文字幕不卡| 国产精品亚洲综合| 久久久久亚洲精品男人的天堂| 亚洲国产精品国自产电影| 99精品热线在线观看免费视频 | 国产成人精品日本亚洲11| 免费无码AV片在线观看软件| 亚洲中文字幕无码中文字| 亚洲?v无码国产在丝袜线观看| 无码欧精品亚洲日韩一区| 国产无遮挡裸体免费视频在线观看 | 4399好看日本在线电影免费| 亚洲熟女综合一区二区三区| 女性无套免费网站在线看| 国产精品亚洲一区二区三区在线观看| a毛片在线免费观看| 亚洲高清在线视频| a级毛片无码免费真人| 亚洲变态另类一区二区三区| 在线观看亚洲av每日更新| 午夜免费1000部| 色www免费视频| 亚洲不卡中文字幕无码| 女人让男人免费桶爽30分钟| 国产免费爽爽视频在线观看| 一本色道久久综合亚洲精品蜜桃冫| 最近免费中文字幕大全免费|