最近在写一个java项目,用的是ssm框架,前台就是jsp+js,初次开发,遇到了很多问题,今天上午解决的是controller之间的传递。
因为要用到json传递数据,所以要先导入json的三个jar包。
然后需要配置springmvc.xml文件
<!--json格式数据转换的配置 ?--> ???<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> ???????<property name="messageConverters"> ???????????<list> ???????????????<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> ????????????????????????????</bean> ???????????</list> ???????</property> ???</bean>
首先看jsp页面,我是想让js获取input的输入值,然后进行后台验证用户名是否已经存在。
<input id="username" class="input-text-lg " name="username">
然后看jsp页面中的js
$(function(){ ????$("#username").blur(function(){ ????????var usernameInput = this.value; ????????$.ajax({ ???????????url:"${contextPath}/checkUserName.action", ???????????type:"POST", ???????????dataType:"json", ???????????data:{"usernameInput":usernameInput}, ???????????success:function(data){ ???????????????var isExist = data.isExist; ???????????????if(isExist) ???????????????????alert("用户名已经存在"); ???????????????else ???????????????????alert("该用户名可以使用"); ???????????????}, ???????????error:function(data){ ???????????????alert("error"); ???????????} ????????} ); ????}) })
最后是controller层的代码
@RequestMapping(value = "/checkUserName.action",method = RequestMethod.POST) ???????@ResponseBody ???????public Map<String, Object> checkUserName(String usernameInput, Model model, HttpServletRequest request, HttpServletResponse response) ???????????????throws ParseException { ???????????Map<String, Object> resultMap = ?new HashMap<String,Object>(); ???????????int count = userService.checkUserName(usernameInput); ???????????boolean isExist=(count>0?true:false); ???????????resultMap.put("isExist", isExist); ???????????return resultMap; ???????}
然后就可以了,一定不要忘记导入java包和配置xml文件!!!
ajax与controller之间传递数据的方法
原文地址:https://www.cnblogs.com/christal-12/p/8350553.html