zoukankan      html  css  js  c++  java
  • ActionForm_Struts上传

    上传表单:

    <form action="upload.do" method="post" enctype="multipart/form-data">
        标题:<input type="text" name="title"><br>
        文件:<input type="file" name="myfile"><br>
        <input type="submit" value="提交">

    </form>

    注意上传的表单中有属性enctype="multipart/form-data"

    建立标准ActionForm类,UploadActionForm 此类继承ActionForm

    package com.jzq.struts;

    import org.apache.struts.action.ActionForm;
    import org.apache.struts.upload.FormFile;

    public class UploadActionForm extends ActionForm {

     private String title;
     private FormFile myfile;
     
     public String getTitle() {
      return title;
     }
     public void setTitle(String title) {
      this.title = title;
     }
     public FormFile getMyfile() {
      return myfile;
     }
     public void setMyfile(FormFile myfile) {
      this.myfile = myfile;
     }

    }

    其中FormFile表示的是struts中的一个上传接口,可以得到上传文件的相关属性,实现文件的上传是通过文件流来实现的。

    在action中实现:

    public class UploadTestAction extends Action {

     @Override
     public ActionForward execute(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response)
       throws Exception {
      UploadActionForm uaf=(UploadActionForm)form;
      String title=uaf.getTitle();

      //使用FormFile得到上传额文件
      FormFile myfile=uaf.getMyfile();
      if(myfile!=null)
      {
       FileOutputStream fos=new FileOutputStream("c:\\"+myfile.getFileName());
          fos.write(myfile.getFileData());
          fos.flush();
          fos.close();
      }
            return mapping.findForward("success");
     }

    }

    在jsp页面上取出上传的文件名代码为:

     标题:${uploadForm.title}<br>
     文件名:${uploadForm.myfile.fileName  }<br>

    el表达式中取出ActionForm的数据,上面表达式中uploadForm表示的是form-bean中的name属性值。

     文件上传的相关设置可以在struts-config.xml中进行配置:

    <controller maxFileSize="10M"/>

    struts-config.xml的相关配置的属性可以在strtus.jar下的struts.resources下找到struts-config_1_2.dtd中找到。

  • 相关阅读:
    【每天半小时学框架】——React.js的模板语法与组件概念
    PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功能
    轻松几句搞定【Javascript中的this指向】问题
    跨平台移动端APP开发---简单高效的MUI框架
    JavaScript基本知识点整理(超实用)
    一款特好用的JavaScript框架——JQuery
    一个比较实用的商业级图表Echarts
    MUI顶部选项卡的用法(tab-top-webview-main)
    一个非常好用的前端JS框架-AngularJS(一)
    JavaScript面向对象中的继承
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1953896.html
Copyright © 2011-2022 走看看