я пытался настроить невероятно простой контроллер / представление, и просто не могу заставить его работать. В моем web.xml
я определил
с именем servlet-context.xml
, который работает нормально. В servlet-context.xml
, среди прочего, я установил:
. Насколько я понимаю, это все, что нужно для использования аннотаций @
.
В моем контроллере у меня есть:
@RequestMapping(value="/student/{username}/", method=RequestMethod.GET)
public String adminStudent(@PathVariable String username, @RequestParam String studentid) {
return "student";
}
И в моем представлении student.jsp
у меня есть:
This is the page where you would edit the stuff for ${username}.
The URL parameter studentid
is set to ${studentid}.
Когда я делаю запрос на http: // localhost: 8080 / application / student / xyz123 /? studentid = 456
, я получаю то, что ожидал, но все переменные пустые или пустые:
This is the page where you would edit the stuff for .
The URL parameter studentid
is set to .
Я подозреваю, что проблема связана с тем, как мой web.xml
или servlet-context.xml
настроены, но я нигде не могу найти виновника. Насколько я могу судить, в журналах ничего не отображается.
Обновление: я основывал свой код на этой части spring-mvc-showcase :
@RequestMapping(value="pathVariables/{foo}/{fruit}", method=RequestMethod.GET)
public String pathVars(@PathVariable String foo, @PathVariable String fruit) {
// No need to add @PathVariables "foo" and "fruit" to the model
// They will be merged in the model before rendering
return "views/html";
}
... которая мне подходит. Я не могу понять, почему этот пример работает, а мой нет. Это потому, что они делают что-то другое с servlet-context.xml
?