首页 > 代码库 > 关于Json在SSh框架中出现的问题

关于Json在SSh框架中出现的问题

异常信息:

10:13:48,540 DEBUG JSONUtil:72 - [JSON]{"exception":{"cause":{"cause":{"cause":{"cause":{"cause":{"cause":{"cause":
{"cause":null,"localizedMessage":"
{"className":"com.opensymphony.xwork2.interceptor.PrepareInterceptor","fileName":"PrepareInterceptor.java","lineNumber":171,"methodName":"doIntercept","nativeMethod":false}
,{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false}
,{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.I18nInterceptor","fileName":"I18nInterceptor.java","lineNumber":139,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.struts2.interceptor.ServletConfigInterceptor","fileName":"ServletConfigInterceptor.java","lineNumber":164,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.AliasInterceptor","fileName":"AliasInterceptor.java","lineNumber":193,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor","fileName":"ExceptionMappingInterceptor.java","lineNumber":189,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.struts2.impl.StrutsActionProxy","fileName":"StrutsActionProxy.java","lineNumber":54,"methodName":"execute","nativeMethod":false},
{"className":"org.apache.struts2.dispatcher.Dispatcher","fileName":"Dispatcher.java","lineNumber":562,"methodName":"serviceAction","nativeMethod":false},
{"className":"org.apache.struts2.dispatcher.ng.ExecuteOperations","fileName":"ExecuteOperations.java","lineNumber":77,"methodName":"executeAction","nativeMethod":false},
{"className":"org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter","fileName":"StrutsPrepareAndExecuteFilter.java","lineNumber":99,"methodName":"doFilter","nativeMethod":false},
{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":241,"methodName":"internalDoFilter","nativeMethod":false},
{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":208,"methodName":"doFilter","nativeMethod":false},
{"className":"org.apache.catalina.core.StandardWrapperValve","fileName":"StandardWrapperValve.java","lineNumber":220,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.core.StandardContextValve","fileName":"StandardContextValve.java","lineNumber":122,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.authenticator.AuthenticatorBase","fileName":"AuthenticatorBase.java","lineNumber":501,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.core.StandardHostValve","fileName":"StandardHostValve.java","lineNumber":171,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.valves.ErrorReportValve","fileName":"ErrorReportValve.java","lineNumber":102,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.valves.AccessLogValve","fileName":"AccessLogValve.java","lineNumber":950,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.core.StandardEngineValve","fileName":"StandardEngineValve.java","lineNumber":116,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.connector.CoyoteAdapter","fileName":"CoyoteAdapter.java","lineNumber":408,"methodName":"service","nativeMethod":false},
{"className":"org.apache.coyote.http11.AbstractHttp11Processor","fileName":"AbstractHttp11Processor.java","lineNumber":1040,"methodName":"process","nativeMethod":false},
{"className":"org.apache.coyote.AbstractProtocol$AbstractConnectionHandler","fileName":"AbstractProtocol.java","lineNumber":607,"methodName":"process","nativeMethod":false},
{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2442,"methodName":"doRun","nativeMethod":false}
,{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2431,"methodName":"run","nativeMethod":false},
{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":895,"methodName":"runTask","nativeMethod":false},
{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":918,"methodName":"run","nativeMethod":false},
{"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable","fileName":"TaskThread.java","lineNumber":61,"methodName":"run","nativeMethod":false},
{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],
"targetException":{"cause":null,"localizedMessage":"Dialect does not support identity key generation","message":"Dialect does not support identity key generation",
"stackTrace":[{"className":"org.hibernate.dialect.Dialect","fileName":"Dialect.java","lineNumber":549,"methodName":"getIdentitySelectString","nativeMethod":false},
{"className":"org.hibernate.dialect.Dialect","fileName":"Dialect.java","lineNumber":538,"methodName":"getIdentitySelectString","nativeMethod":false},
{"className":"org.hibernate.persister.entity.AbstractEntityPersister","fileName":"AbstractEntityPersister.java","lineNumber":2181,"methodName":"getIdentitySelectString","nativeMethod":false},
{"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"methodName":"invoke0","nativeMethod":true},
{"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":39,"methodName":"invoke","nativeMethod":false}
,{"className":"sun.reflect.DelegatingMethodAccessorImpl","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":25,"methodName":"invoke","nativeMethod":false},
{"className":"java.lang.reflect.Method","fileName":"Method.java","lineNumber":597,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":226,"methodName":"bean","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false}
,{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false}
,{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":436,"methodName":"map","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":154,"methodName":"process","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false}
,{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false}
,{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},
{"{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false}
,{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":102,"methodName":"write","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONUtil","fileName":"JSONUtil.java","lineNumber":116,"methodName":"serialize","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONResult","fileName":"JSONResult.java","lineNumber":202,"methodName":"createJSONString","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONResult","fileName":"JSONResult.java","lineNumber":176,"methodName":"execute","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":371,"methodName":"executeResult","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":275,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.struts2.interceptor.DeprecationInterceptor","fileName":"DeprecationInterceptor.java","lineNumber":41,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.struts2.interceptor.debugging.DebuggingInterceptor","fileName":"DebuggingInterceptor.java","lineNumber":256,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor","fileName":"DefaultWorkflowInterceptor.java","lineNumber":167,"methodName":"doIntercept","nativeMethod":false}
,{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},
{{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.StaticParametersInterceptor","fileName":"StaticParametersInterceptor.java","lineNumber":191,"methodName":"intercept","nativeMethod":false}
,{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false}
,{"className":"org.apache.struts2.interceptor.MultiselectInterceptor","fileName":"MultiselectInterceptor.java","lineNumber":73,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.CheckboxInterceptor","fileName":"CheckboxInterceptor.java","lineNumber":91,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.FileUploadInterceptor","fileName":"FileUploadInterceptor.java","lineNumber":252,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor","fileName":"ModelDrivenInterceptor.java","lineNumber":100,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor","fileName":"ScopedModelDrivenInterceptor.java","lineNumber":141,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ChainingInterceptor","fileName":"ChainingInterceptor.java","lineNumber":145,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.PrepareInterceptor","fileName":"PrepareInterceptor.java","lineNumber":171,"methodName":"doIntercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.I18nInterceptor","fileName":"I18nInterceptor.java","lineNumber":139,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.ServletConfigInterceptor","fileName":"ServletConfigInterceptor.java","lineNumber":164,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.AliasInterceptor","fileName":"AliasInterceptor.java","lineNumber":193,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor","fileName":"ExceptionMappingInterceptor.java","lineNumber":189,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.impl.StrutsActionProxy","fileName":"StrutsActionProxy.java","lineNumber":54,"methodName":"execute","nativeMethod":false},
{"className":"org.apache.struts2.dispatcher.Dispatcher","fileName":"Dispatcher.java","lineNumber":562,"methodName":"serviceAction","nativeMethod":false},{"className":"org.apache.struts2.dispatcher.ng.ExecuteOperations","fileName":"ExecuteOperations.java","lineNumber":77,"methodName":"executeAction","nativeMethod":false},{"className":"org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter","fileName":"StrutsPrepareAndExecuteFilter.java","lineNumber":99,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":241,"methodName":"internalDoFilter","nativeMethod":false},{"className":"org.apache.catalina.core.ApplicationFilterChain","fileName":"ApplicationFilterChain.java","lineNumber":208,"methodName":"doFilter","nativeMethod":false},{"className":"org.apache.catalina.core.StandardWrapperValve","fileName":"StandardWrapperValve.java","lineNumber":220,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.core.StandardContextValve","fileName":"StandardContextValve.java","lineNumber":122,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.authenticator.AuthenticatorBase","fileName":"AuthenticatorBase.java","lineNumber":501,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.core.StandardHostValve","fileName":"StandardHostValve.java","lineNumber":171,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.valves.ErrorReportValve","fileName":"ErrorReportValve.java","lineNumber":102,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.valves.AccessLogValve","fileName":"AccessLogValve.java","lineNumber":950,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.core.StandardEngineValve","fileName":"StandardEngineValve.java","lineNumber":116,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.catalina.connector.CoyoteAdapter","fileName":"CoyoteAdapter.java","lineNumber":408,"methodName":"service","nativeMethod":false},{"className":"org.apache.coyote.http11.AbstractHttp11Processor","fileName":"AbstractHttp11Processor.java","lineNumber":1040,"methodName":"process","nativeMethod":false},{"className":"org.apache.coyote.AbstractProtocol$AbstractConnectionHandler","fileName":"AbstractProtocol.java","lineNumber":607,"methodName":"process","nativeMethod":false},{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2442,"methodName":"doRun","nativeMethod":false},{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2431,"methodName":"run","nativeMethod":false},{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":895,"methodName":"runTask","nativeMethod":false},
{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":918,"methodName":"run","nativeMethod":false},{"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable","fileName":"TaskThread.java","lineNumber":61,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]}},"localizedMessage":"java.lang.reflect.InvocationTargetException","message":"java.lang.reflect.InvocationTargetException","stackTrace":[{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":246,"methodName":"bean","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":436,"methodName":"map","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":154,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":390,"methodName":"add","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":231,"methodName":"bean","nativeMethod":false},
{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":178,"methodName":"processCustom","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":168,"methodName":"process","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":134,"methodName":"value","nativeMethod":false},{"className":"org.apache.struts2.json.JSONWriter","fileName":"JSONWriter.java","lineNumber":102,"methodName":"write","nativeMethod":false},{"className":"org.apache.struts2.json.JSONUtil","fileName":"JSONUtil.java","lineNumber":116,"methodName":"serialize","nativeMethod":false},{"className":"org.apache.struts2.json.JSONResult","fileName":"JSONResult.java","lineNumber":202,"methodName":"createJSONString","nativeMethod":false},{"className":"org.apache.struts2.json.JSONResult","fileName":"JSONResult.java","lineNumber":176,"methodName":"execute","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":371,"methodName":"executeResult","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":275,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.DeprecationInterceptor","fileName":"DeprecationInterceptor.java","lineNumber":41,"methodName":"intercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.debugging.DebuggingInterceptor","fileName":"DebuggingInterceptor.java","lineNumber":256,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor","fileName":"DefaultWorkflowInterceptor.java","lineNumber":167,"methodName":"doIntercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.validator.ValidationInterceptor","fileName":"ValidationInterceptor.java","lineNumber":265,"methodName":"doIntercept","nativeMethod":false},{"className":"org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor","fileName":"AnnotationValidationInterceptor.java","lineNumber":68,"methodName":"doIntercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor","fileName":"ConversionErrorInterceptor.java","lineNumber":138,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ParametersInterceptor","fileName":"ParametersInterceptor.java","lineNumber":254,"methodName":"doIntercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.ParametersInterceptor","fileName":"ParametersInterceptor.java","lineNumber":254,"methodName":"doIntercept","nativeMethod":false},
{"className":"com.opensymphony.xwork2.interceptor.MethodFilterInterceptor","fileName":"MethodFilterInterceptor.java","lineNumber":98,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"com.opensymphony.xwork2.interceptor.StaticParametersInterceptor","fileName":"StaticParametersInterceptor.java","lineNumber":191,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.MultiselectInterceptor","fileName":"MultiselectInterceptor.java","lineNumber":73,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.CheckboxInterceptor","fileName":"CheckboxInterceptor.java","lineNumber":91,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},{"className":"org.apache.struts2.interceptor.FileUploadInterceptor","fileName":"FileUploadInterceptor.java","lineNumber":252,"methodName":"intercept","nativeMethod":false},{"className":"com.opensymphony.xwork2.DefaultActionInvocation","fileName":"DefaultActionInvocation.java","lineNumber":246,"methodName":"invoke","nativeMethod":false},
{"className":"org.apache.catalina.connector.CoyoteAdapter","fileName":"CoyoteAdapter.java","lineNumber":408,"methodName":"service","nativeMethod":false},{"className":"org.apache.coyote.http11.AbstractHttp11Processor","fileName":"AbstractHttp11Processor.java","lineNumber":1040,"methodName":"process","nativeMethod":false},{"className":"org.apache.coyote.AbstractProtocol$AbstractConnectionHandler","fileName":"AbstractProtocol.java","lineNumber":607,"methodName":"process","nativeMethod":false},{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2442,"methodName":"doRun","nativeMethod":false},{"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","fileName":"AprEndpoint.java","lineNumber":2431,"methodName":"run","nativeMethod":false},{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":895,"methodName":"runTask","nativeMethod":false},{"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":918,"methodName":"run","nativeMethod":false},{"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable","fileName":"TaskThread.java","lineNumber":61,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"localizedMessage":"org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException","message":"org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException",

以上是异常信息

-------------------------------------------------------------------------------------------------------

<script type="text/javascript" src="http://www.mamicode.com/js/jquery-1.7.2.js"></script>    
<script type="text/javascript" >
     $(function(){
       $("#rname").blur(function(){
         var rname=$(this).val();
          $.ajax({
       url:"user/checkname",
       data:"rname="+rname,
       type:"post",
       dataType:"text",
       success:function(data){
      $("#span1").html($.parseJSON(data).msg);
       
       },
       error:function(msg){
        $("#span1").html($.parseJSON(data).msg); 
       
       }             
       });     
     });
     } );
     
</script>

上面为前端jsp页面Json数据的传输和接收

--------------------------------------------------------

public class UsersAction extends ActionSupport{
    private UsersService ;
    private Users ;
    private int ;        
    Map<String,Object> session=ActionContext.getContext().getSession();        
    private String rname;    
    private String ;        
    public String checkname() {        
      int i=us.findName(rname);            
       if(i==1){              
          msg="用户名已经存在";            
            return "success";        
              }else{             
                 msg="用户名正确";         
                    return  "error";        }                    }
   public UsersService getUs() {        
          return us;    }    
     public void setUs(UsersService us) {     
       this.us = us;    }    
   public Users getUsers() {     
      return users;    }  
    public void setUsers(Users users) {     
       this.users = users;    }    
    public int getPermission() {       
     return permission;    } 
   public void setPermission(int permission) {   
        this.permission = permission;    }   
    public String getRname() {     
       return rname;    }    
    public void setRname(String rname) {      
      this.rname = rname;    }    
    public String getMsg() {       
     return msg;    }    
    public void setMsg(String msg) {     
       this.msg = msg;    
       }
       
       }

简单的将实现的验证Action后台的数据粘在这里,具体的就不多复制

--------------------------------------------------------

struts的配置文件内容:

<action name="checkname" class="action.UsersAction" method="checkname">       
    <result name="success"  type="json">  </result>      
     <result name="error" type="json"></result>
<interceptor-ref name="defaultStack"></interceptor-ref>
 </action>

打算获取文件所有的属性的值

------------------------------------------------------

实体类的配置文件:

<hibernate-mapping package="entity"> <class name="entity.Users" schema="SCOTT" table="USER1"> 
 <id name="id" type="java.lang.Integer">   
 <generator >
 </generator>  
 </id>
//其他配置省略

使用的<generator class="assigned"></generator>属性为assigned

开始查找以为是实体类配置问题,按网上有的说法是:<generator class="assigned"/>中的assigned为identity   可是检查半天也不是,而且配置方言也没有问题,怀疑过是否是dao的底层实现类造成的,用debug跟半天也没发现异常出现,一直执行到action返回"success"后,myEclipse出现死机,猛然蹦出开头复制的异常.据此推测就是struts2的配置出现的问题,后来更改的:

<action name="checkname" class="action.UsersAction" method="checkname">
           <result name="success"  type="json"> 
                        
           </result>           
           <result name="error" type="json">
             
           </result>
          <interceptor-ref name="defaultStack"></interceptor-ref>
         </action>

将里面的参数进行细化加上了name="includeProperties"可以获取msg的值,单个获取us,users,rname,permission均可以将其传到前端的jsp页面 但是整体获得却不可以

由此可见对于获取特定的信息时明确所获得的数据进行限制

本文出自 “channyb” 博客,请务必保留此出处http://12298162.blog.51cto.com/12288162/1875694

关于Json在SSh框架中出现的问题