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";

    }

 

    /**

     * 变量getset方法

     */

    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篇的主要内容,如果未能解决你的问题,请参考以下文章

SSH框架——struts2篇

SSH开发模式——Struts2进阶

SSH理解——Struts2篇

SSH框架整(12)

SSH(struts2+spring+hibernate)三大框架整合

ssh三大框架的认识