<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 游客
    問題搞定,神一般樓主啊,謝謝樓主。
    主站蜘蛛池模板: 亚洲人成网站在线播放影院在线| 国产免费小视频在线观看 | 在线观看免费国产视频| 亚洲冬月枫中文字幕在线看| 国产乱子精品免费视观看片| 亚洲天堂一区在线| 国产人在线成免费视频| 国产成+人+综合+亚洲专| 四虎国产精品免费久久| 日本亚洲免费无线码| 成人网站免费观看| 亚洲国产精品成人综合色在线| 狠狠久久永久免费观看| 三级片免费观看久久| 国产自偷亚洲精品页65页| 好久久免费视频高清| 亚洲最大在线视频| 无码高潮少妇毛多水多水免费| 亚洲国产精品99久久久久久| 免费在线观看的黄色网址| 国产精品青草视频免费播放| 久久精品国产亚洲av麻| 在线观看的免费网站无遮挡| 中文字幕 亚洲 有码 在线| 国产成人在线免费观看| 国产一精品一av一免费爽爽| 丁香婷婷亚洲六月综合色| 国产精品亚洲二区在线观看| 老汉精品免费AV在线播放| 亚洲精品国产精品国自产网站| 免费日韩在线视频| 国产免费拔擦拔擦8X高清在线人| 亚洲一区二区三区在线网站| 亚洲精品第一国产综合精品99| 日本免费人成网ww555在线| 亚洲日韩一区二区三区| 亚洲乱码精品久久久久..| 成人片黄网站A毛片免费| 国产一级黄片儿免费看| 亚洲精品亚洲人成在线观看下载 | 亚洲人成人网毛片在线播放|