java - 将 Spring3 MVC 错误转移到 Ajax?

标签 java ajax spring spring-mvc

我正在开发一个项目,将一些 Ajax 添加到 Spring-MVC 项目中。我删除了标签

<form:errors path="fieldName"/>

这会在 JSP 中插入错误,现在我正在尝试编写一些 Ajax 代码来在页面上显示错误。谁能告诉我如何更新以下代码以显示错误消息而不是错误?

success: function(response)
          {
          // we have the response 
            $('#error').hide('fast');   
            if(response.status == "SUCCESS")
            {
                $('#error').hide('fast');  
                alert("Thanks for submitting.  We will get back to you as soon as possible.\n\n" + response.result);
                $('#error').hide('slow');

            }else
            {
              errorInfo = "";
              for( i = 0 ; i < response.result.length ; i++){
                  errorInfo += "<br>" + (i + 1) +". " + response.result[i].code;
              }
              $('#error').html("Please correct following errors: " + errorInfo);
              $('#info').hide('slow');
              $('#error').show('slow');
              $('#input').show('slow');
          }       
        },  
        error: function(e){  
          alert('Error: ' + e);  
        }  
      });  

上面的代码可以显示错误,但不能显示错误消息

下面是我的java代码:

    @RequestMapping(value = "/ajax.html", method = RequestMethod.POST)
    public @ResponseBody
    JsonResponse addMessage(@Valid
            @ModelAttribute(value = "memberrequest") MemberRequest memberrequest,
            BindingResult result) {

            JsonResponse res = new JsonResponse();


        if (!result.hasErrors()) {
            res.setStatus("SUCCESS");

            // Setting data over to RT

            String Ticket = zzz.sentWebRequest(memberrequest);

            /*
             * Setting out the ticket number to be displayed to user
             */

            Map<String, Object> model = new HashMap<String, Object>();
            Ticket t = new Ticket();
            t.setTicketDetails(Ticket);

            model.put("ticket", t);

            res.setResult(Ticket);
        } else {
            res.setStatus("FAIL");
            res.setResult(result.getAllErrors());
        }

        return res;
    }
}

JSON 类:

public class JsonResponse { private String status = null; private Object result = null;

public String getStatus() { return status; }

public void setStatus(String status) { this.status = status; }

public Object getResult() { return result; }

public void setResult(Object result) { this.result = result; }

}

最佳答案

尝试使用 response.result[i].defaultMessage 而不是 response.result[i].code

关于java - 将 Spring3 MVC 错误转移到 Ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741680/

相关文章:

java - 如何通过 spring data JPA 处理分层查询(Oracle)?其中 SQL 包括 START WITH... CONNECT BY

java - Spring/Jackson 映射内部 JSON 对象

java - 抛出 RuntimeException 会导致事务回滚,但 Spring Boot 应用程序中不会出现异常

Java:如何制作一个创建数组的循环?

当正则表达式的第一个字符是 * 时,Java PatternSyntaxException

java - 使用 Oracle Coherence 的 Spring 缓存

javascript - 在 SPRING MVC 和 JSP 环境中使用 jquery 和 ajax 呈现表的复选框

javascript - 使用 History API 进行 Ajax div 加载

java - 仅返回实际最短路径中的顶点

javascript - 获取删除请求无法正常工作