最近在写一个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文件!!!