Ich aktualisiere von Frühling 3.2 zu 4.1 und versuche, meine MVC-Konfiguration zu aktualisieren.Spring-MVC 3.2 zu 4.1 Aktualisierung: @RequestParam, das nicht bindet
Kurzversion: Ich kann bestätigen, dass die Anforderung der param sendet:
userId:USERNAME
password:PASSWORD
termsAccepted:true
Inhaltstyp application/x-www-form-urlencoded
ist.
Spring Security CSRF ist deaktiviert: <security:csrf disabled="true"/>
am XSD Sehen, heißt es meine eigene Methode Argument Resolvern nicht überschreiben die Standardeinstellungen:
<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="org.jason.web.util.RetainUserHandlerMethodArgumentResolver"/>
<bean class="org.jason.web.util.ConversationArgumentResolver"/>
</mvc:argument-resolvers>
<mvc:message-converters>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
Kann jemand einen Einblick bieten?
Edit: Hier ist der Controller. Nichts besonderes hier.
@RequestMapping(value = "/login**")
public ModelAndView login(@RequestParam(value = "error", required = false) String error,
@RequestParam(value = "logout", required = false) String logout,
@RequestParam(value = "submit", required = false) String submit,
@RequestParam(value = "userId", required = false) String userId,
@RequestParam(value = "password", required = false) String password,
@RequestParam(value = "returnView", required = false) String returnView,
HttpServletRequest request,
HttpSession session
) {
// login log. Return a Spring ModelAndView based on success/failure.
}
Erweitern Sie die richtige Klasse/implementieren Sie die richtige Schnittstelle für die benutzerdefinierten Argument Resolver? Wie sich das von älteren Versionen geändert hat (obwohl ich annehme, dass Sie letztendlich 'HandlerMethodArgumentResolver' verwendet haben.). Kannst du deine komplette Konfiguration und vielleicht auch deinen Controller posten? Machst du auch Code-Upgrades oder nur ein Framework-Upgrade? (Es sollte mehr oder weniger ein Ersatztropfen sein). –
Ja, meine Kundenresolver implementieren HandlerMethodArgumentResolver. Sollte das Binden von Request-Parametern an Controller-Methoden-Parameter nicht durch einen eingebauten Konverter erfolgen, den ich nicht explizit definieren muss? Ich habe nicht viel in der Art von Code-Updates, meist Konfigurationsdateien getan. – Jason
Es ist auch nur eine Warnung von Ihrer IDE, funktioniert Ihr Code tatsächlich? Die Tatsache, dass Sie eine Warnung in Ihrer IDE haben, bedeutet nichts. Es überschreibt sie in der Tat nicht, es ergänzt sie. –