SSH框架——Struts2篇
Posted 夕冰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH框架——Struts2篇相关的知识,希望对你有一定的参考价值。
文件上传
Struts2中使用Common-FileUPload.jar架包实现文件上传功能。
首先配置struts.xml中action
<action name="upload" class="org.cgx.vo.UploadAction"> <result>/succ.jsp</result> </action> |
文件上传表单:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>文件上传</title> </head> <body> <s:form action="upload" enctype="multipart/form-data"> <s:textfield name="title" label="文件名称"></s:textfield> <s:file name="upload" label="选择文件"></s:file> <s:submit value="上传"></s:submit> </s:form> </body> </html> |
特别注意:在form表单中要设置enctype。
文件上传成功界面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>文件上传成功</title> </head> <body> <font color="red">系统提示:上传成功!</font><br/> 文件名称:<s:property value="title"/><br/> <img src="<s:property value="uploadFileName"/>"/> </body> </html>
|
处理文件上传的Action类(核心代码)
package org.cgx.vo;
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport; /** * 文件上传控制类 * @author SunLight * */ public class UploadAction extends ActionSupport {
//输入的文件名称 private String title; //上传的文件 private File upload; //上传文件的名称 private String uploadFileName; //上传文件保存路径 private String path;
/** * 文件上传处理方法 */ @Override public String execute() throws Exception { //上传文件保存路径为:当前项目路径+上传文件名 path = ServletActionContext.getServletContext().getRealPath(uploadFileName);
System.out.println("路径:"+path); System.out.println("上传文件名称:"+uploadFileName);
//文件输出流,将上传的文件保存到服务器 FileOutputStream fos = new FileOutputStream(path); //文件输入流,获取上传文件信息 FileInputStream fis = new FileInputStream(getUpload()); byte[] b = newbyte[1024]; int len=0; while((len=fis.read(b))!=-1){ fos.write(b, 0, len); } //关闭资源 fis.close(); fos.close(); return"success"; }
/** * 变量get、set方法 */ public String getTitle() { returntitle; } public void setTitle(String title) { this.title = title; } public File getUpload() { returnupload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadFileName() { returnuploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } }
|
以上是关于SSH框架——Struts2篇的主要内容,如果未能解决你的问题,请参考以下文章