1. Bangun lingkungan struts2
Di bawah myeclipse, proyek klik kanan -> myeclipse -> facets proyek -> instal apache struts2.
Jika Anda ingin membangunnya sendiri, Anda harus mengunduh paket Struts2 dan menulis file konfigurasi struts.xml.
Konfigurasi file web.xml adalah sebagai berikut:
<filter> <nilter-name> struts2 </tilter-name> <nift-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutEfilter </filter-class> </filter> <filter-Mapping> <TERFERTER-NAME> <TERFERTICE> <TERFERTICE> <TERFERTICE> <TERFERTICE> <TERFERTION> <TERFERTICE> <TERFERTION> <TERFERTER-POLFITS2 </FILTER-NAME> <SURLE-POLATHER>.
2. Unggah file
1. Halaman Meja Depan:
Halaman Unggah:
<body> <Form Action = "unggah.action" Method = "POST" ENCTYPE = "multipart/form-data"> <input type = "file" name = "unggah"/> <input type = "kirim" value = "kirim"/> <br> $ {hasil} </form> </body>Atribut nama input konsisten dengan penamaan latar belakang.
Unggah Halaman Gagal:
<hody> <h2> unggah gagal </h2> <s: fielderror> </s: fielderror> </body>
membutuhkan:
<%@ taglib uri = "/struts-tags" awalan = "s"%>
2. Aksi backend
Unggah Properti Utama, UploadContentType, UploadFileName.
Paket com.yf.action; import java.io.file; impor org.apache.commons.io.fileutils; impor org.apache.struts2.servletactionContext; import com.opensymphony.xwork2.actionsupport; unggahan kelas publik memperluas aksi com.opensymphony.xwork2; private string unggahContentType; Private String unggahFileName; hasil string pribadi; file publik getuoload () {return unggah; } public void setupload (unggah file) {this.upload = unggah; } public String getUploadContentType () {return unggahcontentType; } public void setuploadContentType (string unggahcontentType) {this.uploadContentType = unggahcontentType; } public string getUploadFileName () {return unggahFileName; } public void setuploadFileName (String unggahfileName) {this.uploadFileName = unggahFileName; } public string getResult () {return hasil; } public void setResult (string hasil) {this.result = hasil; } @Override Public String execute () melempar Exception {string path = servletActionContext.getSerVletContext (). GetRealPath ("/gambar"); File file = file baru (path); if (! file.exists ()) {file.mkdir (); } System.out.println (unggah); Fileutils.copyfile (unggah, file baru (file, unggahFileName)); hasil = "diunggah dengan sukses"; Sukses kembali; }}3.struts.xml Konfigurasi file
Konfigurasikan tindakan dan konfigurasikan pencegat untuk membatasi jenis dan ukuran file yang diunggah.
<? 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> <torpute.tan (struts.dtruts. 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 = "unggah"> <rances> /index.jsp </result> <result name = "input">/error.jsp </result> <!-Konfigurasikan interseptor untuk membatasi jenis dan ukuran file yang diunggah-> <interceptor-name = "fileupload"> <param name = "diizinkanTypes"> gambar/bmp, gambar/x-png, gambar/gif, gambar/jpeg </param> <param name = "maximumsize"> 2m </param> </sterceptor-ref> </packrut-ref name = "defaultStack"> </interceptor--ref> </action> </package> </packrut>
4. Buat file properti baru
Informasi pengunggahan file gagal ditampilkan ke latar depan, dan pesan kesalahan ditampilkan saat diproses.
Isi file adalah sebagai berikut:
struts.messages.error.file.too/besar =/u4e0a/u4f20/u6587/u4ef6/u592a/u5927/u4e86/uff01struts.m Essages.Error.content.type.not.allowed =/u4e0a/u4f20/u6587/u4ef6/u7c7b/u578b/u4e0d/u7b26/uff01
Itu untuk menambahkan:
Nama: struts.messages.error.file.too/besar
Nilai: File unggahan terlalu besar!
Nama: struts.messages.error.content.type.not.allowed
Nilai: Jenis file yang diunggah tidak cocok!
Hasil operasi adalah sebagai berikut:
Pilih gambar JPG, ukurannya tidak melebihi 2m, setelah berjalan
Pilih file non-gambar:
Jika Anda perlu mengunggah file dalam batch, ubah unggahan latar belakang, unggahContentType, dan unggahFileName untuk daftar, baca file unggah dalam loop dan simpan ke hard disk, tambahkan input ke meja depan, dan atribut namanya sama.
Di atas adalah contoh analisis fungsi unggahan file struts2 yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan. Editor akan membalas semua orang tepat waktu!