gpt4 book ai didi

java - 了解 Spring 3.0 示例中的 Ajax 简化

转载 作者:行者123 更新时间:2023-11-30 09:32:20 25 4
gpt4 key购买 nike

我试图理解 http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/ 上的 Spring 示例.

我有一个问题可以解决我的一些疑虑:

问题一:

在 $.getJSON("account/availability",.... 他们是否传递对象帐户并调用 RequestMapping availability?

function checkAvailability() {
$.getJSON("account/availability", { name: $('#name').val() }, function(availability) {
if (availability.available) {
fieldValidated("name", { valid : true });
} else {
fieldValidated("name", { valid : false,
message : $('#name').val() + " is not available, try " + availability.suggestions });
}
});
}

最佳答案

完整的图片,这里是处理请求的 Controller :

@RequestMapping(value="/availability", method=RequestMethod.GET)
public @ResponseBody AvailabilityStatus getAvailability(@RequestParam String name) {

@RequestParam注释是至关重要的。它:

indicates that a method parameter should be bound to a web request parameter

现在计算时:

$.getJSON("account/availability", { name: $('#name').val() }

jQuery 将向以下 URI 发出 GET 请求:account/availability?name=foo。服务器端的 @RequestParam 注解会提取 name 参数并注入(inject),这样 Controller 中的 name 参数就等于 “富”

更新:

关于URI中的/account部分,原文中没有提到,不过上面的handler方法好像是放在controller里面的,有类似的声明:

@Controller
@RequestMapping("/account")
public class AccountController {

当对/account/availability 的请求到达服务器时,Spring MVC 首先找到匹配URI 开头的 Controller (/account),然后寻找一个方法匹配剩余部分 (/availability)。遗憾的是这部分在文章中没有解释,也许你可以要求作者更新它?

关于java - 了解 Spring 3.0 示例中的 Ajax 简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com