Java 理解Spring3.0示例中的Ajax简化
我正在努力理解Spring的例子 我有一个问题要澄清我的一些顾虑: 问题1: 在$.getJSON(“帐户/可用性”)中,他们是否传递对象帐户并调用RequestMapping availabilityJava 理解Spring3.0示例中的Ajax简化,java,ajax,json,spring,spring-mvc,Java,Ajax,Json,Spring,Spring Mvc,我正在努力理解Spring的例子 我有一个问题要澄清我的一些顾虑: 问题1: 在$.getJSON(“帐户/可用性”)中,他们是否传递对象帐户并调用RequestMapping availability function checkAvailability() { $.getJSON("account/availability", { name: $('#name').val() }, function(availability) { if (availability.a
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 });
}
});
}
以下是处理请求的控制器的全貌:
@RequestMapping(value="/availability", method=RequestMethod.GET)
public @ResponseBody AvailabilityStatus getAvailability(@RequestParam String name) {
注释至关重要。它:
指示方法参数应绑定到web请求参数
现在校准时:
$.getJSON("account/availability", { name: $('#name').val() }
jQuery将向以下URI发出GET请求:account/availability?name=foo
。服务器端的@RequestParam
注释将提取name
参数并将其注入,以便控制器中的name
参数等于“foo”
更新:
关于URI的/account
部分,原始文章中没有提到它,但上面的处理程序方法似乎放置在具有类似声明的控制器中:
@Controller
@RequestMapping("/account")
public class AccountController {
当服务器收到对
/account/availability
的请求时,Spring MVC首先找到与URI开头匹配的控制器(/account
),然后查找与其余部分匹配的方法(/availability
)遗憾的是,这一部分没有在文章中解释,也许你可以要求作者更新它?什么是函数可用性。这是一个java对象吗?所以你说的是“帐户”是URI的一部分,但为什么控制器值只是“/availability”?你还没有回答我关于什么是“帐户”的问题uri的nt'部分about@dev_darin:请参阅我的更新,我解释了URI匹配的工作原理。非常感谢您让这一点更清楚。因此,您的意思是,您可以通过这种方式从您的视图中调用两个单独的方法?如果是这样,我认为这非常酷