Sto provando a migrare un progetto Web da Jersey a Spring MVC 3.0. Il processo è stato molto semplice fino al momento in cui ho iniziato a migrare i controller che si supponeva gestissero gli URL con le notazioni dot: "/ miaApp/resources/create/root.subFolder1". Spring MVC sembra tagliare spudoratamente il ".subFolder1" parte dall'URL, che avviene in profondità codice del framework all'interno (vedi AbstractUrlHandlerMapping classe)Come modificare il comportamento di Spring MVC nella gestione del carattere url 'punto'
uriTemplateVariables.putAll(getPathMatcher().extractUriTemplateVariables(matchingPattern, urlPath));
Quindi il mio metodo di controllo viene invocato con radice parametro path , non root.subFolder1
Mi piacerebbe davvero trovare un modo per personalizzare questo comportamento. Qualche consiglio?
PS. Il requisito è in qualche modo quello di mantenere la struttura dell'URL esistente, ovvero soluzioni alternative come passare ai parametri di query "/ myApp/resources/create/? Path = root.subFolder1" Non posso prendere in considerazione.
PS. La mia Primavera config sembra
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="useDefaultSuffixPattern" value="false" />
</bean>
<context:component-scan base-package="my.app.pkg"/>
A proposito, in futuro, potrebbe essere una buona idea includere il tag Java, come che potrebbe avere più visibilità. – AHungerArtist