¿Cómo puedo configurar el Modelo/Clase de comando para enlazar a parámetros de solicitud específicos?Spring - ModeloAttribute y nombres de parámetro
Por ejemplo he siguiente método:
@RequestMappint("/success")
ModelAndView success(@ModelAttribute SomeCommand command) {
// process
}
y comando:
class SomeCommand {
String title
}
que está funcionando bien para peticiones como /success?title=test
, cuando los nombres de solicitud params igual al comando Propiedades nombres.
Pero lo que si necesito para mapear un nombre diferente? por ejemplo, si la solicitud como: /success?sk_title=test
.
¿Cómo puedo asignar el parámetro de solicitud sk_title
al campo title
de mi comando?
Este comando tiene un montón de params, y utilizada por algunos métodos diferentes (que es una integración con otros sistemas de legado), así que conseguir todos estos parámetros como @RequestParam para cada método RequestMapped es un montón de trabajo y requiere demasiado trabajo de copiar/pegar, que trae muchos errores y códigos insoportables.
que tienen ningún control sobre parámetros de entrada nombres, que tienen nombres muy extraños como 'sk_yt_saf_amount', que es por lo que estoy tratando de obligar a que los nombres de propiedades más amigables.
PS estoy usando la palabra 'comando' allí, como datos de entrada, para distinguirlo del Modelo de ModelAndView concepción.
usted no querría usar algo como @RequestParam ("sk_title") aquí en su ¿caso? – Infinity
Tengo docenas de parámetros aquí, por lo que es mucho más fácil tener un contenedor para ellos. Y también se usa en algunos lugares pocos/URL con una lógica diferente, pero la misma estructura de datos –
Si ese es el caso, en su solicitud de página Cómo hacer model.addAttribute ("miUsuario", nueva MyUser()), entonces en su @RequestMapping ("/ success") método puede agregar @ModelAttribute ("myuser"). En su formulario JSP, use spring form helper tag,. Eso ayudará a almacenar todos los parámetros presentados en su modelo. –
Infinity