我有一个Controller
,我想得到反馈给用户的错误.执行错误回调但错误消息不会发送回客户端.
JQuery调用:
var validateButton = $('#validateSteps');
validateButton.bind('click', function() {
var stepsInput = $(':input').serializeArray();
$.postJSON('validate.htm', stepsInput, function(data) {
alert(data);
var steps = $('#steps');
var i = 0;
for(i=0;i<data.length;i++) {
steps.stepWidget('setValidationStatus', {testStepId: data[i].testStepId, interactionType: data[i].interactionType, validationStatus: data[i].validationStatus} );
steps.stepWidget('setErrorDescriptions', {testStepId: data[i].testStepId, interactionType: data[i].interactionType, errorDescriptions: data[i].errorDescriptions} );
}
return false;
}, {
error: function (XMLHttpRequest, textStatus, errorThrown, data) {
alert("error function");
alert(textStatus);
alert(errorThrown);
alert("Internal Server Error: " + data);
return false;
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
控制者:
@RequestMapping(value = "validate.htm", method …
Run Code Online (Sandbox Code Playgroud) @RequestMapping(..)
@ResponseBody
public SearchResponse search(SearchRequest request) throws SearchException { .. }
Run Code Online (Sandbox Code Playgroud)
我想回到请求者:
SearchException
抛出JSON序列化的异常详细信息.第一部分工作正常(杰克逊在类路径上<mvc:annotation-driven />
),但我没有看到一个简单的方法将异常序列化为json.
我可以注册一个自定义处理程序,并从那里写一个JSON字符串,但我可能还需要XML序列化,这意味着我将需要处理程序中的条件.那不是有什么准备好的吗?