SpringMVC后台获取form为enctype="multipart/form-data"中的字段

如果咱们的jsp页面将form表单设为enctype="multipart/form-data"时,从后台获取参数时是获取不到的(request.getParameter),所以为了方便我们可以使用request.getQueryString()来得到他传过来的参数

注:request.url是获取不到拼接的参数的

参考代码如下:

form表单:

        <form id="importForm" method="post" enctype="multipart/form-data"
             style="padding-left:20px;text-align:center;" onsubmit="loading('正在导入,请稍等...');"><br/>
            <input id="uploadFile" name="file" type="file" style="width:330px"/>导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!<br/>
            <input type="text" name="busId" id="busId" style="display:none;" />
        </form>

按钮提交:

  top.$("#importForm").attr("action","${ctx}/union/unionMember/import?busId="+ids);
  top.$("#importForm").submit();
  top.layer.close(index);

后台获取:

    @RequiresPermissions("union:unionMember:import")
    @RequestMapping(value = "import", method=RequestMethod.POST)
    public String importFile(MultipartFile file, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response,String busId) {

        //因为我只有一个参数,所以我用了直接替换字符串这种比较low的方法

        busId=request.getQueryString().replaceAll("busId=","");

        return "redirect:"+Global.getAdminPath()+"/union/unionUexambus/?repage";
    }

注:以上代码为直接拼接字符串,即业务主键,并不适合一次性传很多参数的情况

猜你喜欢

转载自blog.csdn.net/u013008898/article/details/86680245