struts2 ajax jsonexception - PullRequest
       8

struts2 ajax jsonexception

0 голосов
/ 15 ноября 2010

Я получаю приведенную ниже ошибку при выполнении вызова AJAX в моем приложении struts2:

 org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException:             org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
 org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243)
 org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165)
 org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131)
 org.apache.struts2.json.JSONWriter.write(JSONWriter.java:99)
 org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112)
 org.apache.struts2.json.JSONResult.execute(JSONResult.java:198)
 com...hony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
 com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
 org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
 com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
 com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
 com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
 org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
 org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
 org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

Правильные действие / метод выполняются при выполнении вызова ajax.

Я сделалвсе объекты, на которые есть ссылки в классе Action, реализуют Serializable.

Что я могу сделать, чтобы решить эту проблему?Я искал в интернете .. но никаких подсказок ..

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Обнаружена проблема. В моем классе были объекты BidDecimal, и сериализация JSON не поддерживается для этого типа.Я преобразовал его в String и удвоил, и теперь он работает.

0 голосов
/ 09 октября 2018

исправил ошибку, добавив параметр "includeProperties" в struts.xml и ограничив переменные, передаваемые в качестве ответа на вызов AJAX.

<result name="imgData" type="json">
    <param name="includeProperties"> returnResult </param>
</result>

returnResult - это переменная, содержащая данные, которые были переданы в качестве ответа на вызов AJAX.

...