ActionForm_Struts上传

1、前提要求:

  1. post请求
  2. enctype="multipart/form-data"
  3. type="file"

request里存放的是这个文件的字节流(字节数组对象),一看是上传,struts就会创建一个实现FormFile接口类的对象,把字节流封装到实现FormFile接口类的对象里,
把地址(封装实现formfile接口类的对象)设置给表单bean的myfile

过程:struts创建ActionForm对象,自动收集表单中的title和myfile属性值(myfile类型是FormFile接口),然后通过该对象把文件的title值和字节流传给Action

2、上传文件大小的设置

在struts-config.xml中,采用controller标签配置上传参数,上传文件最大10M,默认250M


3、ActionForm空字段问题:

  1. 在表单中没有输入域
    • 采用el表达式取出值的情况
    • 采用jsp脚本取出值的情况
  2. 在表单中有输入域但不输入值
    • 采用el表达式取出值的情况
    • 采用jsp脚本取出值的情况

结论:

  1. 在表单中没有input输入域,jsp脚本接收到的值为null,el表达式接收到的值为空串
  2. 如果表单中的值,没有输入,那么jsp脚本和el表达式接收到的值都为空串

说明:在表单中没有输入域password,即用户不用输入password

  • 空字段测试

  • 姓名:
    <% BlankFieldActionForm form = (BlankFieldActionForm)request.getAttribute("blankFieldForm"); %>
  • jsp脚本

  • 姓名:<%=form.getUsername() %>
    密码:<%=form.getPassword() %>
    //输出null

  • el表达式

  • 姓名:${blankFieldForm.username }
    密码:${blankFieldForm.password }
    输出空字符串

    你可能感兴趣的:(ActionForm_Struts上传)