介绍
SpringMVC如何实现前后端的数据交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<>强控制器强>
作为控制器,大体的作用是作为V端的数据接收并且交给M层去处理,然后负责管理V的跳转.SpringMVC的作用不外乎就是如此,主要分为:接收表单或者请求的值,定义过滤器,跳转页面,其实就是servlet的替代品。
<强>传值方式强>
SpringMVC最方便的一点就是可以通过注释方式来定义它的url。
@ controller 公开课formMVC { @RequestMapping (“/hello") 公共空间登录(){ }
如上面这种方式,在项目名下跟着你好就能访问这个方法了,相较struts2的xml配置加大了开发效率,并且是以方法为级别的开发。
接收表单数据只需要在方法的参数加入响应的字段,对应表单输入的名称属性,因为是通过反射技术实现的所以字段要完全相同。
@RequestMapping (“/login") 公共字符串登录(用户名的字符串,字符串密码){ System.out.println(用户名+“;“+密码); 返回“form.jsp"; }
如上面这种方式,表单提交之后就会获得值。跳转方式就是使用返回的字符串,springmvc的DispatcherServlet会跳转到字符串的页面。你也可以配置它的前缀后缀。在它的配置文件中配置下面属性,就是在这个返回的字符串的前面和后面加入你配置的前缀后缀。
<属性名="后缀" value="/> 豆>另外,springmvc可以使用bean来接收参数,因为是反射技术,所以属性字段依然要保持完全一样。
公开课用户{ 私人字符串的用户名; 私人密码字符串; 公共字符串getUsername () { 返回用户名; } 公共空间setUsername(字符串的用户名){ 这一点。用户名=用户名; } 公共字符串getPassword () { 返回密码; } 公共空间向setPassword(字符串密码){ 这一点。密码=密码; } }
@RequestMapping (value=https://www.yisu.com/zixun/"/模式”,方法=RequestMethod.POST) 公共字符串loginModel(用户u) { System.out.println (u.getUsername () + " " + u.getPassword ()); 返回“form.jsp”; }
最后,前端发过来的数据是经过json包装的,依然可以在后端使用bean来接收。
& lt; % @页面语言=癹ava"contentType=皌ext/html;charset=UTF-8" pageEncoding=癠TF-8" %比; & lt; !DOCTYPE html公众“-//W3C//DTD html 4.01过渡//EN"“http://www.w3.org/TR/html4/loose.dtd"比; & lt; html> & lt; head> & lt;元http-equiv=癈ontent-Type"内容=皌ext/html;charset=UTF-8"比; & lt;脚本类型=拔谋?javascript"src=癹query.min.js"祝辞& lt;/script> & lt; title>登录表单& lt;/title> & lt;/head> & lt;脚本类型=拔谋?javascript"比; $(文档)时函数(){ $ (“# button_submit") .click(函数(){//序列化表单元素,返回json数据 var params=$ (“# userForm") .serializeArray (); console.log (params);//也可以把表单之外的元素按照名称值的格式存进的来//params.push ({name:“hello",价值:“man"}); . ajax({美元 类型:“post", url:“Model" 数据:参数 }); }); }); & lt;/script> & lt; body> & lt;形式id=皍serForm"祝辞 输入name=& lt;“username"类型=皌ext"/比; & lt; br/比; 输入name=& lt;“password"类型=皃assword"/比; & lt; br/比; & lt;/form> & lt;按钮id=癰utton_submit"祝辞提交& lt;/button> & lt;按钮类型=皉eset"在重置& lt;/button> & lt;/body> & lt;/html>
看完上述内容,你们掌握SpringMVC如何实现前后端的数据交互的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!