記錄、分享

          struts2 當spring遇到j(luò)son插件時的異常 及解決(引用)

          struts2 當spring遇到j(luò)son插件時的異常 及解決




          1 我的Action代碼
          package common.regist.action;
          import com.opensymphony.xwork2.ActionSupport;
          import common.regist.Interface.IRegistService;
          import domain.User;
          public class RegistAction extends ActionSupport {
          private IRegistService service;

          private String responseText;

          private String username = "";

          private User user;

          public IRegistService getService() {
            return service;
          }
          public void setService(IRegistService service) {
            this.service = service;
          }

          public User getUser() {
            return user;
          }

          public void setUser(User user) {
            this.user = user;
          }

          public String validateUserName() {
            if(service.validateUser(username).size()==0)
            {
             this.setResponseText("true");
             return ActionSupport.SUCCESS;
            }
            this.setResponseText("false");
            return ActionSupport.SUCCESS;
          }


          public String execute() throws Exception {
            service.regist(user);
            return super.execute();
          }

          public String getResponseText() {
            return responseText;
          }

          public void setResponseText(String responseText) {
            this.responseText = responseText;
          }

          public String getUsername() {
            return username;
          }
          public void setUsername(String username) {
            this.username = username;
          }

          }

          配置文件里:
          <package name="ajax" extends="json-default" namespace="/login">
            <action name="validateUserName" class="registAction" method="validateUserName">
             <result type="json"></result>
            </action>
            </package>

          發(fā)生的異常
          org.apache.catalina.core.StandardWrapperValve invoke
          嚴重: Servlet.service() for servlet default threw exception
          java.sql.SQLException: Positioned Update not supported.
          低調(diào)的貓(624767717) 15:04:17
          at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
          at com.mysql.jdbc.ResultSet.getCursorName(ResultSet.java:1917)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:220)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:302)
          at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:221)
          at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:152)
          at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:120)
          at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:88)
          at com.googlecode.jsonplugin.JSONUtil.serialize(JSONUtil.java:90)
          at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:119)


          分析---------------------------------------------------------------------------------------
          在我的Action中一共有4個properties,其中有個bean是service,而且是在spring framework中已經(jīng)實例化了的,問題就出在它身上了。于是在struts-config中加入該bean的exclude,再測試,成功了!
          發(fā)送action的request后,服務(wù)返回JSON數(shù)據(jù)。

          解決-----------------------------------------------------------------------------------------
          <action name="validateUserName" class="registAction" method="validateUserName">
             <result type="json">
               <param name="excludeProperties">      //序列化屬性中排除 service
                               service
             </param>

          </result>
            </action>
            </package>

          posted on 2011-06-09 15:58 張生 閱讀(1016) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          <2011年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永登县| 兰考县| 巨野县| 赤壁市| 安新县| 左云县| 满洲里市| 东宁县| 桂东县| 九江县| 仙居县| 徐汇区| 衡水市| 台北县| 禹城市| 乌兰察布市| 涿州市| 合作市| 方山县| 西畴县| 抚顺县| 龙游县| 贵阳市| 靖宇县| 遂昌县| 长沙县| 泾川县| 曲阳县| 海宁市| 信宜市| 六盘水市| 安多县| 澄迈县| 紫金县| 聊城市| 靖宇县| 乌恰县| 阳春市| 普兰店市| 崇信县| 安乡县|