使用Freemarker向后台传参

使用Freemarker向后台传参

1、HttpServletRequest
使用HttpServletRequest req,直接获取ftl中的name属性,例如页面上

<label class="col-md-2 control-label">数据库中文名称</label>
<div class="col-md-4">
   <input type="text" class="form-control" id="1" name="dbcomment"  value="">
 </div>

name为dbcomment,那么在后台可以这样写

@ResponseBody
    @RequestMapping("/saveCreateDb")
    public Map<String,Object> saveCreateDb(HttpServletRequest req, HttpServletResponse res) {
        String dbcomment = req.getParameter("dbcomment");
        Map<String,Object> result = new HashMap<>();
        result.put("status",true);
        result.put("msg","ok");
        return result;
    }

通过String dbcomment = req.getParameter(“dbcomment”);可以获取到前台页面的值

2、通过form传值
页面上先写一个form

<form id="dbInfoForm" action="" method="post">
……
</form>

<div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal" onclick="saveDb()">保存
                    </button>
                    <button class="btn btn-default" type="button" data-dismiss="modal">取消</button>
                </div>

然后通过ajax方式向后台传值

function saveDb() {
        
        // 获取页面已有的一个form表单
        var form = document.getElementById("dbInfoForm");
// 用表单来初始化
        var formData = new FormData(form);

        var url = "saveCreateDb";
        debugger;
        $.ajax({
            url: url,
            data: formData,
            type: 'post',
            processData: false,
            contentType: false,
            success: function (data) {
                debugger;
                if (data.status == true) {
                    alert("更新成功");
                    window.location.reload();
                } else {
                    alert(data.msg);
                }
            },
            error: function (data) {
                alert("连接超时");
            }
        });

    }

后台可以用Valid 接收参数

@ResponseBody
    @RequestMapping("/saveCreateDb")
    public Map<String,Object> saveCreateDb(@Valid DbBasicInfoBean dbBasicInfoBean, BindingResult bindingResult) {
        ;
        Map<String,Object> result = new HashMap<>();
        result.put("status",true);
        result.put("msg","ok");
        return result;
    }

你可能感兴趣的:(使用Freemarker向后台传参)