Struts2-文件上传-<s:file>标签使用
来源:互联网 发布:淘宝良心装机店铺 编辑:程序博客网 时间:2024/05/17 23:49
- -开发环境:IDE: Intellij IDEA 2017tomcat:9.0os:archlinuxjdk:1.8.0._131 -
- 新建FileUploadDemo工程
勾选struts2选项
创建完后工程目录如下:
- 新建包com.action,在包下新建FileUploadAction.java类,内容如下
package com.action;import com.opensymphony.xwork2.ActionSupport;import java.io.File;/** * Created by sky on 7/11/17. */public class FileUploadAction extends ActionSupport { private File uploadFile;//对应index.jsp里的<s:file>标签里的name的值 不一样无法获取 private String uploadFileFileName; private String uploadFileContentType; public void setUploadFile(File uploadFile) { this.uploadFile = uploadFile; } public void setUploadFileFileName(String uploadFileFileName) { this.uploadFileFileName = uploadFileFileName; } public void setUploadFileContentType(String uploadFileContentType) { this.uploadFileContentType = uploadFileContentType; } public File getUploadFile() { return uploadFile; } public String getUploadFileFileName() { return uploadFileFileName; } public String getUploadFileContentType() { return uploadFileContentType; } @Override public String execute() throws Exception { if(uploadFile!=null){ String dataDir="/home/sky/"; File saveFile=new File(dataDir,uploadFileFileName); uploadFile.renameTo(saveFile); } else { return INPUT; } return SUCCESS; }}
- 编辑struts.xml,内容如下:
<?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> <package name="Struts2_AJAX_DEMO" namespace="/" extends="struts-default"> <action name="fileupload" class="com.action.FileUploadAction"> <result>/success.jsp</result> <interceptor-ref name="defaultStack"> <param name="fileUpload.allowedTypes">image/jpg,image/jpeg,image/png</param> </interceptor-ref> </action> </package></struts>
- WEB-INF 目录下 web.xml 内容如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
- web目录下新建index.jsp和sucess.jsp
<%-- Created by IntelliJ IDEA. User: sky Date: 7/11/17 Time: 4:18 PM To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="s" uri="/struts-tags" %><html> <head> <title>$Title$</title> </head> <body> <center> <s:form action="fileupload" enctype="multipart/form-data" method="POST"> <s:file name="uploadFile" label="选择文件"/> <s:submit/> </s:form> </center> </body></html>
sucess.jsp内容如下:
<%@ taglib prefix="s" uri="/struts-tags" %><%-- Created by IntelliJ IDEA. User: sky Date: 7/11/17 Time: 5:13 PM To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><center> <h2> 文件名:<s:property value="uploadFileFileName"/><br/> 文件类型:<s:property value="uploadFileContentType"/> </h2></center></body></html>
- 调试运行
注意:<s:file>标签里的name属性值务必跟 FileUploadAction类里的 private File xxx一样,例如:<s:file>里的name=pic,<s:file name="pic"> 对应FileUploadAction类里的 private File 必须为pic,其他2个属性 文件名和文件类型 则为picFileName和picContentType,本例中 名为uploadFile。所以 <s:file name="uploadFile">
FileUploadAction类里3个字段名为 uploadFile uploadFileFileName uploadFileContentType。
阅读全文
1 0
- Struts2-文件上传-<s:file>标签使用
- 使用Struts2标签实现文件上传
- <s:file/>多文件上传
- jsp 使用input标签 file 如何上传多个文件
- Struts 2 <s:file>标签上传GB级别文件或多文件
- Struts2 s标签的使用
- Struts2 s标签的使用
- struts2 <s:select>标签使用
- struts2 <s:date>标签使用
- struts2 s:select 标签使用
- 使用Struts2上传文件
- 使用struts2 上传文件
- 使用Struts2上传文件
- 使用Struts2文件上传
- jsp上传文件,隐藏file标签,使用span和text标签展示
- 多文件上传(input标签file)
- input标签file 多文件上传
- file 标签上传文件,更改样式
- C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)
- 常用git 命令
- 虚拟机连不上网,无法ping主机的解决方案
- 从txt文件逐行读取数据到excel文件(包含POI的简单使用和excel文件的数据分列,出现次数统计)
- python matplotlib 画直方图报错
- Struts2-文件上传-<s:file>标签使用
- SVN (subversion) 的备份和还原
- 拍照上传图片
- 导入Maven Project项目获取jar包的流程 seeting配置
- LeetCode 108. Convert Sorted Array to Binary Search Tree
- java单例模式
- Markdown学习之(2)-绘制表格和流程图
- Laravel5.3初步使用三(View层、Controller层)
- flask 插拨式视图