1. Erstellen Sie eine Struts2 -Umgebung
Klicken Sie unter MyeClipse mit der rechten Maustaste -> MyeClipse -> Projektfacetten -> Apache Struts2 installieren.
Wenn Sie es selbst erstellen möchten, müssen Sie das Struts2 -Paket herunterladen und die Konfigurationsdatei von Struts.xml schreiben.
Die Konfiguration von Web.xml -Datei lautet wie folgt:
<Filter> <filter-name> Struts2 </filter-name> <filterklasse> org.apache.struts2.dispatcher.ng.filter.strutsprepareAnDexecuteFilter </Filterklasse> </Filter> <Filter-mapping> <filter-name> stuts2 </filter-name> </filter-name> </filter-name </filtermapping>
2. Datei -Upload
1. Seite Rezeption:
Seite hochladen:
<body> <form action = "upload.action" methode = "post" engType = "MultiPart/Form-Data"> <Eingabe type = "Datei" name = "upload"/> <Eingabe typ
Das Attribut "Eingabebereich" steht im Einklang mit der Benennung des Hintergrunds.
Fehlgeschlagene Seite hochladen:
<body> <h2> Upload fehlgeschlagen </H2> <S: Fielderror> </s: Fielderror> </body>
brauchen:
<%@ Taglib Uri = "/Struts-tags" Präfix = "S"%>
2. Backend Action
Haupteigenschaften Upload, UploadContentType, UploadFileName.
Paket com.yf.action; import java.io.file; import org.apache.commons.io.fileutils; org.apache.struts2.ServletActionContext; com.opensymphony.xwork2.actionsupport; öffentliche Klasse UploadAction erweitert die AktionSupport {private Datei upload; private String uploadContentType; private String uploadFileName; privates Zeichenfolgenergebnis; öffentliche Datei getuoload () {return upload; } public void setUpload (Datei -Upload) {this.Upload = upload; } public String GetUploadContentType () {return uploadContentType; } public void setUploadContentType (String uploadContentType) {this.UploadContentType = UploadContentType; } public String getUploadFileName () {return uploadFileName; } public void setUploadFileName (String uploadFileName) {this.UploadFileName = UploadFileName; } public String getResult () {Rückgabeergebnis; } public void setResult (String -Ergebnis) {this.result = result; } @Override public String execute () löst Ausnahme aus {String path = servletActionContext.getServletContext (). GetRealPath ("/images"); Datei Datei = neue Datei (Pfad); if (! file.exists ()) {file.mkdir (); } System.out.println (Upload); FileUtils.copyFile (Upload, neue Datei (Datei, UploadFileName)); result = "erfolgreich hochgeladen"; Erfolgserfolg; }}3.Struts.xml Dateikonfiguration
Konfigurieren Sie die Aktion und konfigurieren Sie Interceptor, um den Typ und die Größe von hochgeladenen Dateien zu begrenzen.
<? value = "false"/> <konstant name = "stolzs.devMode" value = "true"/> <konstant name = "stolzs.multipart.savedir" value = "/tmp"/> <konstant name = "struts.custom name="upload"> <result>/index.jsp</result> <result name="input">/error.jsp</result> <!-- Configure interceptor to limit the type and size of uploaded files--> <interceptor-ref name="fileUpload"> <param name="allowedTypes">image/bmp,image/x-png,image/gif,image/jpeg</param> <param name = "maximumSize"> 2m </param> </interceptor-ref> <interceptor-ref name = "defaultStack"> </interceptor-ref> </action> </package> </struts>
4. Erstellen Sie eine neue Eigenschaftendatei
Das Datei -Upload -fehlgeschlagene Informationen wird im Vordergrund angezeigt, und die Fehlermeldung wird bei der Verarbeitung angezeigt.
Die Dateiinhalte sind wie folgt:
Struts.Messages.Error.File.Too/Large =/U4E0A/U4F20/U6587/U4EF6/U592A/U5927/U4E86/UFF01STRUTS.M Essages.Error.content.type.not.alowed =/u4e0a/u4f20/u6587/u4ef6/u7c7b/u578b/u4e0d/u7b26/uff01
Das ist hinzuzufügen:
Name: Struts.Messages.Error.file.Too/groß
Wert: Die Upload -Datei ist zu groß!
Name: Struts.messages.Error.content.type.not.alowed
Wert: Der hochgeladene Dateityp stimmt nicht überein!
Die Betriebsergebnisse sind wie folgt:
Wählen Sie JPG -Bild, die Größe überschreitet 2 m nach dem Laufen nicht
Wählen Sie eine Nicht-Picture-Datei aus:
Wenn Sie Dateien in Stapeln hochladen müssen, den Hintergrund -Upload ändern, uploadContentType hochladen und fileName in die Liste hochladen, die Upload -Datei in einer Schleife lesen und auf der Festplatte speichern, die Eingabe in die Rezeption hinzufügen und das Namensattribut des Namens dieselbe ist.
Das obige ist eine Beispielanalyse der vom Editor eingeführten Struts2 -Datei -Upload -Funktion. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht. Der Herausgeber wird alle rechtzeitig antworten!