zoukankan      html  css  js  c++  java
  • 表单enctype不对导致action中无法接受数据

    表单enctype不对导致action中无法接受数据


    描述:在用ssh开发项目的时候,可能会遇到一个问题,

    那就是明明我的表单字段和JavaBean类中的字段都是一一对应的,而且action也实现了模型驱动,但为什么action的方法中还是得不到表单数据呢?


    最有可能的原因是:你的表单有上传文件,但表单的enctype不对!


    当你在表单中有上传文件的行为的时候,注意,一定要加上enctype="multipart/form-data"

    <form class="am-form tpl-form-border-form"
    action="<c:url value='/user_regist.action'/>"
    enctype="multipart/form-data" method="post">
    </form>

    一旦这样,在action中,你要通过下面的这种方式来获取request中的数据:

    HttpServletRequest request = ServletActionContext.getRequest();
    // HttpServletResponse response = ServletActionContext.getResponse();
    
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload sfu = new ServletFileUpload(factory);
    sfu.setFileSizeMax(2048 * 2048);
    
    List<FileItem> fileItemList = sfu.parseRequest(request);

    所以说,当你接收不到数据的时候,要往这方面想一想,看一看enctype有没有写

  • 相关阅读:
    Vue购物车项目
    总结前端面试过程中最容易出现的问题
    Node.js
    浏览器前端优化
    计算机课程
    谈谈对前端的理解
    MySQL
    阿里云Centos+Django+Nginx+uWSGI
    Windows + Apache + WSGI 部署Django
    Django积木块11 —— 缓存
  • 原文地址:https://www.cnblogs.com/Arry10/p/7731761.html
Copyright © 2011-2022 走看看