碰到一个很奇怪的问题,整了半天也没整明白什么问题。
我在reg.jsp里面用了这样的标签:
  <tr>
    <td width="170"><div align="right">用户所属组:<span class="font2">*</span></div></td>
    <td>
        <html:select property="groupID" styleClass="select1">
           <html:options collection="groupValues" property="value" labelProperty="label"/>
        </html:select>
    </td>
    <td width="370"></td>
  </tr>
这个页面可以正常动态显示用户组,但是提交的时候问题来了(Form提交),问题如下:
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bikms].[jsp]]-[ERROR] Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean under name groupValues
at org.apache.struts.taglib.html.OptionsTag.getIterator(OptionsTag.java:368)
at org.apache.struts.taglib.html.OptionsTag.doEndTag(OptionsTag.java:188)
at org.apache.jsp.WEB_002dINF.jsp.reg_jsp._jspx_meth_html_options_0(org.apache.jsp.WEB_002dINF.jsp.reg_jsp:503)
at org.apache.jsp.WEB_002dINF.jsp.reg_jsp._jspx_meth_html_select_0(org.apache.jsp.WEB_002dINF.jsp.reg_jsp:472)
at org.apache.jsp.WEB_002dINF.jsp.reg_jsp._jspx_meth_html_form_0(org.apache.jsp.WEB_002dINF.jsp.reg_jsp:259)
at org.apache.jsp.WEB_002dINF.jsp.reg_jsp._jspx_meth_html_html_0(org.apache.jsp.WEB_002dINF.jsp.reg_jsp:178)
at org.apache.jsp.WEB_002dINF.jsp.reg_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.reg_jsp:91)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
at org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:994)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:959)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:206)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)期待各位高手的解答...

解决方案 »

  1.   

    groupValues是个集合类型,你必须在给他一个初值。
    你在加载这个页面的时候首先执行一下这条语句
    request.setAttribute("groupValues",new ArrayList()/*这里可以换成你要的list*/);
    这样就不会错啦
      

  2.   

    你提交以后是不是还是跳转回了reg.jsp这个页面啊。(你用debug跟踪一下提交后有没有执行action里面方法)
    你mapping回到reg.jsp的时候同样还是要
    request.setAttribute("groupValues",new ArrayList()/*这里可以换成你要的list*/); 
      

  3.   

    我提交后转到的页面不是reg.jsp,到另个静态页面,很郁闷啊
      

  4.   

    问题搞定,结贴,还是非常感谢jabeginner与我的探讨。