Natural

           

          自己遇到的struts錯誤[不定期更新]

          1、javax.servlet.ServletException: BeanUtils.populate[2010-05-10]
          type Exception report

          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          javax.servlet.ServletException: BeanUtils.populate
              org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
              org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
              org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
              org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
              org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              com.company.filter.RequestCharacterEncodingFilter.doFilter(Unknown Source)

          root cause

          java.lang.IllegalArgumentException: argument type mismatch
              sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              java.lang.reflect.Method.invoke(Method.java:324)
              org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
              org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
              org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
              org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
              org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
              org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
              org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
              org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
              org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
              org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              com.company.filter.RequestCharacterEncodingFilter.doFilter(Unknown Source)

          note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
          問題原因:類型匹配異常。

          比較常見的一種情況:時間屬性string 和date的拷貝;
          還有一種情況:form的某個屬性關聯了對象,此時該屬性名不能作為action提交時的參數名。
          例:
          這是配置文件;
          <action path="/myAction" type="com.actions.MyAction" scope="request" name="myForm">
          如果myForm中的某個屬性為Object abc;(即多對一等方式關聯了某個對象),
          此時訪問了“/myAction.do?abc=某值”會出現這個異常


          2、org.apache.jasper.JasperException: Null property value for 'bmid'[2010-05-11]
          HTTP Status 500 -

          type Exception report

          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          org.apache.jasper.JasperException: Null property value for 'bmid'
              org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
              org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
              org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
              org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
              org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
              org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
              org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
              org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
              org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              com.company.filter.RequestCharacterEncodingFilter.doFilter(Unknown Source)

          root cause

          java.lang.IllegalArgumentException: Null property value for 'bmid'
              org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java:755)
              org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:801)
              org.apache.commons.beanutils.BeanUtils.getArrayProperty(BeanUtils.java:529)
              org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:309)
              org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:244)
              org.apache.jsp.person.xfxw.xfxwreceive_005fnew_jsp._jspx_meth_html_select_0(xfxwreceive_005fnew_jsp.java:178)
              org.apache.jsp.person.xfxw.xfxwreceive_005fnew_jsp._jspService(xfxwreceive_005fnew_jsp.java:115)
              org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
              org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
              org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
              org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
              org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
              org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
              org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
              org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
              org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              com.company.filter.RequestCharacterEncodingFilter.doFilter(Unknown Source)

          note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
          Apache Tomcat/5.0.28
          問題原因:jsp所使用html標簽的屬性是formBean中的一個對象,但在formBean的構造方法中沒有初始化

          例:
          <html:select property="bmid.id">                   
          <
          html:optionsCollection name="bmidList" />
          </html:select>
          對應的formBean中的構造方法沒有對bmid對象進行初始化。

          posted on 2010-05-10 15:49 此號已被刪 閱讀(631) 評論(0)  編輯  收藏 所屬分類: Struts


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類(83)

          隨筆檔案(78)

          文章檔案(2)

          相冊

          收藏夾(7)

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 达拉特旗| 始兴县| 来安县| 长汀县| 华宁县| 嘉鱼县| 旺苍县| 获嘉县| 河西区| 霍城县| 龙里县| 铁力市| 嘉祥县| 加查县| 油尖旺区| 吕梁市| 双城市| 富裕县| 满洲里市| 安顺市| 宝鸡市| 兴海县| 弥勒县| 宁蒗| 白朗县| 工布江达县| 延长县| 广元市| 苍山县| 嫩江县| 呈贡县| 新建县| 图们市| 定日县| 安溪县| 石景山区| 渑池县| 宁陕县| 盘山县| 陆川县| 榆林市|