رمز التنفيذ لوظيفة تنزيل ملف Struts2 كما يلي:
ملف الإجراء
فئة Public TlassLoadAction يمتد الإجراءات { / ** * * / private Static Final Long SerialVersionuid = 5879762231742395104L ؛ اسم الملف الخاص بالسلسلة الخاصة ؛ // اسم الملف المطلوب من قبل userpath private string private ؛ // المسار لتنزيل المورد (المحدد في ملف تكوين Struts) public void setInpath (string inputpath) {this.inpatpath = inputPath ؛ } السلسلة العامة getInpatPath () {return inputPath ؛ } public void setFilename (اسم ملف السلسلة) {this.filename = filename ؛ } السلسلة العامة getFilename () {return filename ؛ } السلسلة العامة DownloadFile () يلقي استثناء {servletContext context = servleTactionContext.getServletContext () ؛ String downloadDir = context.getRealPath ("/upload") ؛ String downloadFile = context.getRealPath (inputPath) ؛ // منع المستخدمين من طلب موارد غير آمنة إذا (! downloadFile.StartSwith (downloadDir)) {return null ؛ } إرجاع "download_success" ؛ } /** الحصول على مورد دفق الإدخال* / public inputstream getInputStream () يلقي استثناء {string path = inputPath + file.separatorchar + new string (filename.getbytes ("ISO-8859-1") ، "UTF-8") ؛ return servletactionContext.getServletContext (). getResourCeasStream (path) ؛ } /** احصل على اسم الملف الافتراضي للملف عند تنزيل* / السلسلة العامة getDownloadFilename () {String downloadFilename = filename ؛ حاول {downloadFilename = urlencoder.encode (downloadFilename ، "ISO-8859-1") ؛ } catch (UnsupportedEncodingException e) {e.getMessage () ؛ E.PrintStackTrace () ؛ } إرجاع تنزيل filename ؛ }}ملف JSP:
<li> <a href = "<٪ = path ٪>/download_downloadAction_downloadfile.action؟ filename = dwr.jar"> dwr.jar file under </a> </li> <li> <a href = "<٪ = path ٪>/download_downloadtaction_downloadfile.action؟ filename = </li>
struts.xml:
<action name = "download _*_*" method = "{2}" مورد الدفق (يتم تعريف طريقة getInputStream في الإجراء ، ونوع الإرجاع هو inputStream)-> <param name = "inputName" حجم المخزن المؤقت-> <param name = "BufferSize"> 2048 </param> </sult> </action>ما ورد أعلاه هو المحتوى ذي الصلة لتنفيذ Struts2 لمشاركة رمز وظيفة تنزيل الملف (اسم الملف Transcoding باللغة الصينية) المقدمة لك من قبل المحرر. آمل أن يكون ذلك مفيدًا للجميع!