¿Cómo recibe el controlador en Spring MVC los datos enviados por el formulario de la página?
@ mapeo de solicitud("/add user 1 ")
Cadena pública addUser1(String nombre de usuario, String contraseña){
System.out .println(" El nombre de usuario es:" nombre de usuario);
System.out.println("La contraseña es:" contraseña);
return "/user/success";
}
2. Recibir a través de HttpServletRequest.
@RequestMapping("/addUser2 ")
Cadena pública addUser2(solicitud HttpServletRequest){
cadena nombre de usuario = solicitud getparameter(" nombre de usuario "); /p>
cadena contraseña = solicitud . getparameter(" contraseña ");
System.out.println("El nombre de usuario es: " nombre de usuario); out.println("La contraseña es: "contraseña);
return "/user/success"
}
3.
1) Cree un bean basado en los parámetros del formulario.
Usuario de clase pública {nombre de usuario de cadena privada; contraseña de cadena privada; cadena pública get nombre de usuario(){ return nombre de usuario;}
//métodos getter y setter. . . }
2) Utilice este bean para encapsular los parámetros recibidos.
@RequestMapping("/addUser3 ")
Cadena pública addUser3(usuario usuario) {
System.out.println("El nombre de usuario es:" usuario . get nombre de usuario());
System.out.println("La contraseña es: " usuario . get contraseña());
return "/user/success";
}
4. Recibir datos a través de json
lt @ page language = " Java " tipo de contenido = " text/html; juego de caracteres = UTF-8 "
codificación de página = " UTF-8 " gt;
lt! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transicional//ES " " http://www.w3.org/TR/HTML4/loose.DTD" gt;
lthtml gt< / p>
lthead gt
ltmeta http-equiv = " Tipo de contenido " Contenido = " text/html; charset=UTF-8 " >>p>
lttitle gtAgregar usuario lt/ título gt;
ltscript type = " text/JavaScript " src = " $ { pagecontext . request . contexto ruta }/resource/script/jquery-1 . 9 . 1 . min . js " gt ; /script gt;
ltscript tipo = " texto/JavaScript " gt
$(documentación). listo(función(){
$("#button_submit ").click(función(){
var nombre = $("#userName ").val();
var pasar = $("#contraseña ").
val();
var usuario = {nombre de usuario: nombre, contraseña: contraseña}; //Ensamblar en formato json
$.ajax({
Tipo : "Publicación",
URL: " $ { pagecontext . request . context path }/user/add user 4 ",
Datos: Usuario,
Éxito: función(datos){
Alerta("éxito");
},
Error: función(e) {
Alerta("Error: " e);
}
});
});
});< / p>
lt/script gt;
lt/head gt;
ltbody gt
lt formulario gt
lt Tabla gt
lttr gt
cuenta lttd gt
lttd gt
ltinput type = " text " id = " nombre de usuario " nombre = " nombre de usuario " >>p>
lt/TD gt;
lt/tr gt;
lttr gt
contraseña de lttd gt
lttd gt
ltTipo de entrada = " contraseña " id = " contraseña " nombre = " contraseña " gt;
lt/TD gt;
lt /tr gt;
lttr gt
lttd gt lt/TD gt;
lttd gt
lt tipo de entrada = " botón " ID = " botón _ enviar " valor = " enviar " >>p>
lt/TD gt
lt/tr gt
lt/table gt ;
lt/form gt;
lt/body gt;
lt/html gt;
Aún puedes usar beans para recibir json datos.
@RequestMapping("/addUser4 ")
Cadena pública addUser4(usuario usuario) {
System.out.println("El nombre de usuario es:" usuario . get nombre de usuario());
System.out.println("La contraseña es: " usuario . get contraseña());
return "/user/success";
}
5. Utilice el método serializeArray() de jQuery para serializar elementos del formulario.
Si hay muchos elementos de formulario, es muy problemático ensamblar datos json manualmente. Puede utilizar el método serializeArray() proporcionado por jQuery para serializar elementos de formulario y devolver datos de estructura de datos json.
lt @ idioma de la página = " Java " tipo de contenido = " texto/html; juego de caracteres = UTF-8 "
codificación de página = " UTF-8 " gt;
¡Es! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transicional//ES " " http://www.w3.org/TR/HTML4/loose.DTD" gt;
lthtml gt< / p>
lthead gt
ltmeta http-equiv = " Tipo de contenido " Contenido = " text/html; charset=UTF-8 " >>p>
lttitle gtAgregar usuario lt/ título gt;
ltscript type = " text/JavaScript " src = " $ { pagecontext . request . contexto ruta }/resource/script/jquery-1 . 9 . 1 . min . js " gt ; /script gt;
ltscript tipo = " texto/JavaScript " gt
$(documentación). ready(function(){
$("#button_submit "). Click(function(){
//Serializa elementos del formulario y devuelve datos json.
var params = $("#userForm "). serialize array();
//También puede guardar elementos fuera del formulario en formato de valor de nombre.
//params.push({nombre: "hola ", valor: " hombre "});
$.ajax({
Tipo: " Publicación",
URL: " $ { pagecontext . ruta de contexto }/usuario/agregar usuario 5 ",
Datos: Parámetros,
Éxito: Función(datos){
Alerta("Éxito");
},
Error: Función(e) {
Alerta ("Error:" e);
}
});
lt/script gt;
lt/head gt;
ltbody gt
ltform id = " userForm " gt
lt table gt
lttr gt
cuenta lttd gt
lttd gt
ltinput tipo = " texto " id = " nombre de usuario " nombre = " nombre de usuario " >>p>
lt/TD gt;
lt/tr gt;
lttr gt
lttd gtContraseña p >
lttd gt
ltInput type = " contraseña " id = " contraseña " nombre = " contraseña " gt
lt/TD gt
lt/tr gt;
lttr gt
lttd gt lt/TD gt;
lttd gt
lt tipo de entrada = botón " " ID = " botón _ enviar " valor = " enviar " >>p>
lt/TD gt;
lt/tr gt;
lt/table gt;
lt/form gt;
lt/body gt;
lt/html gt;
Aún puedes usar beans para recibir datos json:
@RequestMapping("/addUser5 ")
Cadena pública addUser5(usuario usuario) {
System.out.println(" El nombre de usuario es: " usuario . get nombre de usuario());
System.out.println("La contraseña es: " usuario . get contraseña());
return"/user / Éxito";
}