Java 理解Spring3.0示例中的Ajax简化

Java 理解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

我正在努力理解Spring的例子

我有一个问题要澄清我的一些顾虑:

问题1:

在$.getJSON(“帐户/可用性”)中,他们是否传递对象帐户并调用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 });
        }
    });
}

以下是处理请求的控制器的全貌:

@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匹配的工作原理。非常感谢您让这一点更清楚。因此,您的意思是,您可以通过这种方式从您的视图中调用两个单独的方法?如果是这样,我认为这非常酷