Cet article présente principalement la fonction de Java Struts pour télécharger des images dans un dossier désigné et afficher les images. Les amis qui en ont besoin peuvent s'y référer
Après la dernière utilisation de Servlet pour télécharger des images, cette fois en utilisant. Struts basés sur MVC Le framework encapsule les servlets et simplifie les sauts de page JSP.
Page de téléchargement JSP
Le téléchargement doit ajouter enctype="multipart/form-data"
au formulaire, indiquant que les données soumises sont binaires
et doivent être method="post"
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <s:form action="login" method="post" enctype="multipart/form-data"> <s:file name="img" label="头像" /> <s:submit value="上传" /> </s:form> <!-- <form action="login" method="post" enctype="multipart/form-data"> 头像:<input type="file" name="img"></input> <input type="submit" values="上传"></input> </form> --> </body> </html>
configuration struts.xml (le projet maven est placé dans les ressources)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.multipart.maxSize" value="20480000"/> 设置文件上传最大值 <package name="struts2" extends="struts-default"> <action name="login" class="com.controller.TestStruts" method="logintest"> <result name="fail">/fail.jsp</result> <result name="success">/success.jsp</result> </action> </package> </struts>
TestStruts. La classe de contrôle Java
doit fournir trois attributs
File img; String imgFileName; String imgContentType;
puis fournir des méthodes getter setter pour ces trois attributs
package com.controller; import java.io.File; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestStruts extends ActionSupport{ private File img; private String imgFileName; private String imgContentType; public File getImg(){ return img; } public String getimgFileName(){ return imgFileName; } public String getImgContentType(){ return imgContentType; } public void setImg(File img){ this.img = img; } public void setImgFileName(String imgFileName){ this.imgFileName = imgFileName; } public void setImgFileContentType(String imgContentType){ this.imgContentType = imgContentType; } @SuppressWarnings("unchecked") public String logintest() throws IOException{ Map p = ActionContext.getContext().getSession(); p.put("imgFileName", imgFileName); File f = new File("D://imagebystruts"); if (!f.exists()) { f.mkdir(); } FileUtils.copyFile(img, new File(f, imgFileName)); return "success"; } }
Chemin virtuel de configuration du fichier Server.xml dans Tomcat
<Context docBase="D:/imagebystruts" path="/imagebystruts" reloadable="true"/> <Context docBase="SSHTest" path="/SSHTest" reloadable="true" source="org.eclipse.jst.j2ee.server:SSHTest"/></Host>
success.jsp afficher l'image
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>success</title> </head> <body> <h1>成功</h1> <body> <img src="/imagebystruts/${imgFileName}"> </body> </body> </html>
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!