Frühjahr 3.0.6 MVC @PathVariable und @RequestParam blank/leer in JSP anzeigen

Habe ich versucht zu bekommen, eine unglaublich einfache controller/view-set-up, und kann einfach nicht damit es funktioniert. In meinem web.xml habe ich definiert <servlet> genannt servlet-context.xml, der läuft ok. In servlet-context.xml habe ich eingestellt:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"

<...other stuff in here... />

<mvc:annotation-driven />

unter anderem. Mein Verständnis ist, das ist alles, was notwendig zu verwenden @ Anmerkungen.

In meinem controller habe ich:

@RequestMapping(value="/student/{username}/", method=RequestMethod.GET)
public String adminStudent(@PathVariable String username, @RequestParam String studentid) {
    return "student";
}

Und in meinem student.jsp Ansicht, die ich habe:

<p>This is the page where you would edit the stuff for ${username}.</p>
<p>The URL parameter <code>studentid</code> is set to ${studentid}.</p>

Wenn ich eine Anfrage http://localhost:8080/application/student/xyz123/?studentid=456 bekomme ich die Ansicht habe ich erwartet, aber alle Variablen sind leer oder null:

<p>This is the page where you would edit the stuff for .</p>
<p>The URL parameter <code>studentid</code> is set to .</p>

Ich vermute, es ist ein problem mit der Art, wie meine web.xml oder servlet-context.xml eingerichtet sind, aber ich kann nicht den Schuldigen finden überall. Es gibt nichts, zeigt sich in jegliche Protokolle, soweit ich das sehen kann.


Update: ich war stützend meinen code aus diesem Teil der 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";
}

...die funktioniert gut für mich. Ich kann nicht verstehen, warum dieses Beispiel funktioniert, aber mir nicht. Ist es, weil Sie etwas anderes zu tun mit servlet-context.xml?

<annotation-driven conversion-service="conversionService">
    <argument-resolvers>
        <beans:bean class="org.springframework.samples.mvc.data.custom.CustomArgumentResolver"/>
    </argument-resolvers>
</annotation-driven>

InformationsquelleAutor alexmuller | 2011-11-27

Schreibe einen Kommentar