Tag: spring mvc

如果使用PUT,SpringMVC无法识别请求体参数

也许这应该不起作用,但至少我想了解为什么。 我在PUT体中传递一个简单的val = somevalue但是spring发回400 Bad Request因为它似乎没有识别val参数。 类似的请求适用于POST 。 可能是SpringMVC没有将PUT请求体识别为参数源吗? 在两种情况下, Content=-Type都正确设置为application / x-www-form-urlencoded。 spring拒绝调用的方法是: @RequestMapping(value = “config/{key}”, method = RequestMethod.PUT) @ResponseBody public void configUpdateCreate(final Model model, @PathVariable final String key, @RequestParam final String val, final HttpServletResponse response) throws IOException { //… } 为了完整性,这里是jquery ajax调用。 我看不出有什么不妥。 客户端是Firefox 4或Chrome,两者都显示相同的结果。 $.ajax({ url:url, type:’PUT’, data:’val=’ + encodeURIComponent(configValue), success: function(data) […]

重定向Ajax Jquery调用

我是ajax的新手,我知道有人会遇到这个问题。 我有一个基于Spring MVC构建的遗留应用程序,它有一个拦截器(filter),可以在没有会话时将用户重定向到登录页面。 public class SessionCheckerInterceptor extends HandlerInterceptorAdapter { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); // check if userInfo exist in session User user = (User) session.getAttribute(“user”); if (user == null) { response.sendRedirect(“login.htm”); return false; } return true; } } 对于非xmlhttp请求,这工作正常..但是当我尝试在我的应用程序中使用ajax时,一切都变得奇怪,它无法正确地重定向到登录页面。 检查的价值 xhr.status = 200 textStatus […]

如何使用jQuery AJAX和Spring MVC 3从服务器下载文件

我想从服务器实现上传文件的下载(用AJAX)。 在服务器端,我编写了代码 @RequestMapping(value = “/getInvoice/approvalId/{approvalId}”, method = RequestMethod.GET) public @ResponseBody byte[] getInvoice(@PathVariable(“approvalId”) Integer approvalId, HttpServletResponse response) throws IOException { String fileName = this.approvalService.getFullInvoicePath(approvalId); File file = new File(fileName); response.setContentType(“application/octet-stream”); response.setHeader(“Content-Disposition”, “attachment; filename=\”” + file.getName() + “\””); response.setHeader(“Pragma”, “no-cache”); response.setHeader(“Cache-Control”, “no-cache”); response.setContentLength((int) file.length()); return FileUtils.readFileToByteArray(file); } Fiddler2显示响应: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Disposition: attachment; filename=”invoice.pdf” Pragma: […]

使用JSON将嵌套对象发布到Spring MVC控制器

我有一个控制器,POST处理程序定义如下: @RequestMapping(value=”/ajax/saveVendor.do”, method = RequestMethod.POST) public @ResponseBody AjaxResponse saveVendor( @Valid UIVendor vendor, BindingResult result, Locale currentLocale ) 当以JSON格式查看时,UIVendor对象如下所示: var vendor = { vendorId: 123, vendorName: “ABC Company”, emails : [ { emailAddress: “abc123@abc.com”, flags: 2 }, { emailAddress: “xyz@abc.com”, flags: 3 } ] } UIVendor bean有一个名为“Emails”的字段,类型为ArrayList,带有适当的setter和getter(getEmails / setEmails)。 NotificationEmail对象也具有适当的公共setter / getter。 当我尝试使用以下代码发布对象时: $.post(“ajax/saveVendor.do”, $.param(vendor), saveEntityCallback, […]