ajax与controller之间传递数据的方法


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM