最近在寫一個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文件!!!