91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struts2實現多文件上傳功能

發布時間:2020-09-28 14:16:05 來源:腳本之家 閱讀:186 作者:Giving_bestself 欄目:編程語言

前臺form 表單:設置method=post,enctype=multipart/form-data。

struts2在原有的上傳解析器繼承上做了進一步封裝,更進一步簡化了文件上傳。

Action需要使用3個屬性來封裝該文件域的信息:

(1)類型為File的*屬性封裝了該文件域對應的文件內容;
(2)類型為String的***FileName屬性封裝了該文件域對應的文件的文件類型;
(3)類型為String的***ContentType屬性封裝了該文件域對應的文件的類型。

具體實現:

新建web項目

Struts2實現多文件上傳功能

添加struts2相關包
myeclipse可直接下載,右擊項目,如下。

Struts2實現多文件上傳功能

前臺

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
 <body>
  <form action="upload.action" method="post" enctype="multipart/form-data">
    <input type="file" name="upload" multiple="multiple"/>
    <input type="submit" value="提交"/>

  </form>
 </body>
</html>

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
 <display-name>UploadFile</display-name>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
 </filter-mapping>
</web-app>

配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
  <constant name="struts.devMode" value="true"/>
  <constant name="struts.multipart.saveDir" value="/tmp"/>
  <constant name="struts.custom.i18n.resources" value="app"></constant>

  <package name="default" namespace="/" extends="struts-default">
    <action name="upload" class="com.yf.action.UploadAction">
    <result>/index.jsp</result>
    <interceptor-ref name="defaultStack"></interceptor-ref>
    </action>
  </package>
</struts>

后臺代碼

public class UploadAction extends ActionSupport{
  private List<File> upload;
  private List<String> uploadContentType;
  private List<String> uploadFileName;

  public List<File> getUpload() {
    return upload;
  }

  public void setUpload(List<File> upload) {
    this.upload = upload;
  }

  public List<String> getUploadContentType() {
    return uploadContentType;
  }

  public void setUploadContentType(List<String> uploadContentType) {
    this.uploadContentType = uploadContentType;
  }

  public List<String> getUploadFileName() {
    return uploadFileName;
  }

  public void setUploadFileName(List<String> uploadFileName) {
    this.uploadFileName = uploadFileName;
  }

  @Override
  public String execute() throws Exception {
    //文件保存路徑
    String path = ServletActionContext.getServletContext().getRealPath("/images");
    File file = new File(path);
    //不存在則創建
    if(!file.exists()){
      file.mkdir();
    }
    //循環將文件上傳到指定路徑
    for(int i = 0; i< upload.size(); i++){
      FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i)));
    }
    return SUCCESS;
  }

結果如下

Struts2實現多文件上傳功能

Struts2實現多文件上傳功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐津县| 许昌市| 怀化市| 思南县| 黔东| 彰武县| 理塘县| 将乐县| 鹤山市| 卢氏县| 大丰市| 周至县| 镇康县| 梧州市| 百色市| 阿拉善左旗| 延寿县| 德格县| 九江市| 宿松县| 政和县| 浑源县| 乐清市| 外汇| 中牟县| 浦江县| 大荔县| 寿光市| 潍坊市| 宝山区| 疏附县| 大厂| 射洪县| 瑞安市| 博湖县| 舒兰市| 惠东县| 通化县| 敦化市| 永年县| 浦县|