SpringMVC 中 jsp 页面对 Controller 返回数据的使用

Java 发表评论


首先看在SpringMVC中利用Controller验证登陆并返回数据

    @RequestMapping("/check")
    @ResponseBody
    public Object check(String username, String password) {
        UserModel user = iUserService.getUserByUsername(username);
        Map<String, String> map = new HashMap<>();
        if (user != null && user.getPassword().equals(password)) {
            map.put("status", "success");
            map.put("msg", "User login success!");
            map.put("username", username);
        } else {
            map.put("status", "failed");
            map.put("msg", "User login failed!");
            map.put("username", username);
        }
        return map;
    }

其中使用了@ResponseBody 注解 , 返回值类型为Object , 该示例中构造Map作为返回数据.


再来看jsp页面中的请求代码

function login() {
        var username = $("#username").val();
        var password = $("#password").val();
        $.post(
            "http://127.0.0.1/login/check.do",
            $("#loginForm").serialize(), 
            function (result) {
                if (result.status == "success") {
                    alert(result.msg + result.username);
                    } else {
                    alert(result.msg + result.username);
                    }
            }, 
            "json");
        }

其实用法很简单 , 使用 jquery 的 post 方法进行请求 , 在回调函数中传入参数 result , 这个result 就是Controller 中返回的 map 数据 , 只不过不需要使用 map.get( “key” ) 来获取封装的值 , 只需要简单的使用 result.key 即可得到在服务端封装的数据 , 是不是很方便呢 .

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *