이 글에서는 지정된 폴더에 이미지를 업로드하고 이미지를 표시하는 Java Struts의 기능을 주로 소개합니다. 필요한 친구는 이를 참고할 수 있습니다.
이미지 업로드를 위해 마지막으로 사용한 Servlet에 이어 이번에는 MVC 기반 Struts 프레임워크입니다. 서블릿 및 단순화된 JSP 페이지 점프를 캡슐화하는 데 사용됩니다.
JSP 업로드 페이지
업로드 시 양식에 enctype="multipart/form-data"
를 추가해야 합니다. 이는 제출된 데이터가 바이너리enctype="multipart/form-data"
,表示提交的数据时二进制的
并且必须是method="post"
여야 함을 나타냅니다. 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>struts.xml 구성(maven 프로젝트는 리소스에 배치됨)
<?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.java 컨트롤 클래스세 가지 속성을 제공해야 합니다
File img; String imgFileName; String imgContentType;그런 다음 이 3가지 속성에 대해 getter setter 메서드를 제공하세요.
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"; } }서버의 가상 경로를 구성하세요.
위 내용은 지정된 폴더에 Struts 그림을 업로드하고 Java로 그림을 표시하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!