Java struts Action +ActionForm上传文件

1、 创建表单―index.jsp


<li>测试struts上传文件</li><br>

<form action="upload.do" method="post" enctype="multipart/form-data">

标题:<input type="text" name="title"><br>

文件:<input type="file" name="myfile"><br>

<input type="submit" value="提交">

</form>



2、 上传成功文件―upload_success.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"

pageEncoding="GB18030"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

<title>Insert title here</title>

</head>

<body>

<!--

uploadForm.title中的uploadForm是根据

<form-bean name="uploadForm" type="com.bjsxt.struts.UploadActionForm"/>

中的name="uploadForm"而来的

-->

标题:${uploadForm.title}<br>

文件名:${uploadForm.myfile.fileName }<br>

</body>

</html>



3、 UploadActionForm.java文件


package com.bjsxt.struts;

import org.apache.struts.action.ActionForm;

import org.apache.struts.upload.FormFile;

/**

* 上传ActionForm

* @author Administrator

*/

public class UploadActionForm extends ActionForm {

private String title;

//必须采用FormFile声明

private FormFile myfile;

public String getTitle() {

return title;

public void setTitle(String title) {

this.title = title;

public FormFile getMyfile() {

return myfile;

public void setMyfile(FormFile myfile) {

this.myfile = myfile;


4、 UploadTestAction.java文件


package com.bjsxt.struts;

import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.upload.FormFile;

/**

* 上传Action

* @author Administrator

*/

public class UploadTestAction extends Action {

@Override

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

UploadActionForm uaf = (UploadActionForm)form;

System.out.println("title" + uaf.getTitle());

//FormFile是一个接口

FormFile myFile = uaf.getMyfile();

if (myFile != null) {

System.out.println("fileName=" + myFile.getFileName());

//存在C盘

FileOutputStream fos = new FileOutputStream("c:\\" + myFile.getFileName());

fos.write(myFile.getFileData());

fos.flush();

fos.close();

return mapping.findForward("success");

5、 配置struts-config.xml文件


<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>

<form-bean name="uploadForm" type="com.bjsxt.struts.UploadActionForm"/>

<action path="/upload"

type="com.bjsxt.struts.UploadTestAction"

name="uploadForm"

scope="request"

<forward name="success" path="/upload_success.jsp"/>

</action>

</struts-config>


在struts-config.xml文件---配置上传文件的参数(采用<controller>标签)

・ 如上传文件的最大为10M,其他配置参数见struts.jar文件中的org.apache.struts.resources中的struts-config_1_2.dtd查看其他的参数

<controller maxFileSize="10M"/>

・struts-config_1_2.dtd中的可配置的信息

bufferSize className contentType forwardPattern nputForward locale maxFileSize memFileSize multipartClass nocache pagePattern processorClass tempDir

自:http://www.huomo.cn/developer/article-e2de.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值