Maison > Java > javaDidacticiel > Un exemple de téléchargement d'images Struts dans un dossier spécifié et d'affichage d'images en Java

Un exemple de téléchargement d'images Struts dans un dossier spécifié et d'affichage d'images en Java

黄舟
Libérer: 2017-08-10 13:35:59
original
1120 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

TestStruts. La classe de contrôle Java

doit fournir trois attributs


File img;
String imgFileName;
String imgContentType;
Copier après la connexion

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";
  }
}
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal