Spring MVC 3.0 Аннотированный контроллер не работает с JQuery $ .post () - PullRequest
1 голос
/ 08 ноября 2011

В контроллере Spring MVC я пытаюсь получить доступ к имени, отправленному простым постом JQuery.Я получаю сообщение об ошибке Не удалось найти @PathVariable [name] в @ RequestMapping * Где я не так?

JQuery Post

$.post("addName.htm",{ name: "John"});

Spring Controller

@RequestMapping(value = "/addName.htm", method = RequestMethod.POST)
public void setAllocations(@PathVariable String name) {

    System.out.println("inside Setting value.... ");
    System.out.println(name);
}

Я получаю ошибку

Не удалось найти @PathVariable [name] в @ RequestMapping

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Это не @PathVariable, вместо этого вы должны использовать @RequestParam. Попробуйте это:

@RequestMapping(value = "/addName.htm", method = RequestMethod.POST)
public void setAllocations(@RequestParam String name) {
    System.out.println(name);
}

В этом разница:

  • PathVariable: http://yourhost/{name}/addName.html
  • RequestParam: http://yourhost/addName.html?name={name}
1 голос
/ 08 ноября 2011

Вы должны использовать @RequestParam вместо @PathVariable

@RequestMapping(value = "/addName.htm", method = RequestMethod.POST)
public void setAllocations(@RequestParam String name) {
  System.out.println("inside Setting value.... ");
  System.out.println(name);
}

Из документов :

  1. @ PathVariable аннотированных параметров для доступа к URIпеременные шаблона.
  2. @ Аннотированные параметры RequestParam для доступа к конкретным параметрам запроса сервлета.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...