首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

Struts2下传文件示例

2012-09-06 
Struts2上传文件示例Struts2上传文件示例??2.Action类package com.sterningimport java.io.Fileimport j

Struts2上传文件示例

Struts2上传文件示例??

Struts2下传文件示例


2.Action类


package com.sterning;

import java.io.File;

import javax.servlet.ServletContext;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

public class StrutsFileUpload extends ActionSupport implements
??????? ServletContextAware {

??? private File upload;// 实际上传文件

??? private String uploadContentType; // 文件的内容类型

??? private String uploadFileName; // 上传文件名

??? private String fileCaption;// 上传文件时的备注

??? private ServletContext context;

??? public String execute() throws Exception {

??????? try {
????????????
??????????? String targetDirectory = context.getRealPath("/upload");
??????????? String targetFileName = uploadFileName;
??????????? File target = new File(targetDirectory, targetFileName);
??????????? FileUtils.copyFile(upload, target);????????????
????????????
??????????? setUploadFileName(target.getPath());//保存文件的存放路径
??????? } catch (Exception e) {

??????????? addActionError(e.getMessage());

??????????? return INPUT;
??????? }

??????? return SUCCESS;

??? }

??? public String getFileCaption() {
??????? return fileCaption;
??? }

??? public void setFileCaption(String fileCaption) {
??????? this.fileCaption = fileCaption;
??? }

??? public File getUpload() {
??????? return upload;
??? }

??? public void setUpload(File upload) {
??????? this.upload = upload;
??? }

??? public String getUploadContentType() {
??????? return uploadContentType;
??? }

??? public void setUploadContentType(String uploadContentType) {
??????? this.uploadContentType = uploadContentType;
??? }

??? public String getUploadFileName() {
??????? return uploadFileName;
??? }

??? public void setUploadFileName(String uploadFileName) {
??????? this.uploadFileName = uploadFileName;
??? }

??? public void setServletContext(ServletContext context) {
??????? this.context = context;
??? }

}

3.页面

上传页面:upload.jsp

<%@ page language="java" contentType="text/html; charset=GB2312"%>???
<%@ taglib prefix="s" uri="/struts-tags" %>???
<html>
??? <head>
??????? <title>文件上传示例</title>
??????? <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
??????????? type="text/css" />

??? </head>

??? <body>

??????? <s:actionerror />
??????? <s:fielderror />
??????? <s:form action="doUpload" method="POST" enctype="multipart/form-data">
??????????? <tr>
??????????????? <td colspan="2">
??????????????????? <h1>
??????????????????????? 文件上传示例
??????????????????? </h1>
??????????????? </td>
??????????? </tr>

??????????? <s:file name="upload" label="上传的文件" />
??????????? <s:textfield name="fileCaption" label="备注" />
??????????? <s:submit value="上?? 传"/>
??????? </s:form>
??? </body>
</html>

上传成功页面:upload_success.jsp

<%@ page language="java" contentType="text/html; charset=GB2312"%>??
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
??? <head>
??????? <title>上传成功</title>
??????? <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
??????????? type="text/css" />
??? </head>

??? <body>
??????? <table />
??????????????? </td>
??????????? </tr>

??????????? <tr>
??????????????? <td />
??????????????? </td>
??????????? </tr>


??????????? <tr>
??????????????? <td />
??????????????? </td>
??????????? </tr>

??????????? <tr>
??????????????? <td />
??????????????? </td>
??????????? </tr>


??????? </table>

??? </body>
</html>

4.struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
??? "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
??? <constant name="struts.devMode" value="true" />
??? <constant name="struts.i18n.encoding" value="GB2312" />
?
??? <package name="NG" namespace="/" extends="struts-default">
??????? <action name="showUpload">
??????????? <result>/upload.jsp</result>
??????? </action>
????????
??????? <action name="doUpload" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
??? xmlns="http://java.sun.com/xml/ns/j2ee"
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
??? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

??? <display-name>customization</display-name>

??? <filter>
??????? <filter-name>struts-cleanup</filter-name>
??????? <filter-class>
??????????? org.apache.struts2.dispatcher.ActionContextCleanUp
??????? </filter-class>
??? </filter>?


??? <filter>
??????? <filter-name>struts2</filter-name>
??????? <filter-class>
??????????? org.apache.struts2.dispatcher.FilterDispatcher
??????? </filter-class>
??? </filter>


??? <filter-mapping>
??????? <filter-name>struts-cleanup</filter-name>
??????? <url-pattern>/*</url-pattern>
??? </filter-mapping>


??? <filter-mapping>
??????? <filter-name>struts2</filter-name>
??????? <url-pattern>/*</url-pattern>
??? </filter-mapping>

</web-app>

?

Struts2下传文件示例Struts2下传文件示例

热点排行