- 浏览: 637726 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java.math.BigDecimal类的用法 -
tuspark:
文章写的挺详细了,但是感觉太乱了,真不如这篇文章: BigDe ...
java.math.BigDecimal类的用法 -
u010040765:
感谢楼主分享,写的很详细,很容易看懂
Struts2中iterator标签遍历map总结 -
若无勇气终将褪去:
[flash=200,200][url][list][*][/ ...
java.math.BigDecimal类的用法 -
若无勇气终将褪去:
...
java.math.BigDecimal类的用法
1,action类:
2,struts.xml文件配置:
3,JSP文件:
上传页面:loadfile.jsp:
显示结果页面:
/** * */ package org.jeelee.action; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.util.Date; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; /** * @author JeeLee * */ public class UploadFileAction extends ActionSupport { private static final long serialVersionUID = 1L; private static final int BUFFER_SIZE = 16*1024; private File myFile ; private String contentType ; private String fileName ; private String caption ; private String imageFileName ; /** * 用struts2标签<s:file/>实现上传文件要注意: * <s:file name="xxx" />对应Action类里面的xxx、xxxContentType和xxxFileName三个属性 */ public UploadFileAction() { // TODO Auto-generated constructor stub } /** * 这个方法很关键,要想实现上传文件,这个方法是必须的(上传文件的MIME类型), * 它是由<s:file/>标签绑定的:set+file标签名+FileContentType * @author JeeLee * @param contentType */ public void setMyFileContentType(String contentType) { this.contentType = contentType ; } /** * 这个方法很重要,要想实现上传文件,这个方法是必须的(上传文件的文件名,该文件名不包括文件的路径), * 它是由<s:file/>标签绑定的:set+file标签名+FileName * @author JeeLee * @param fileName */ public void setMyFileFileName(String fileName) { this.fileName = fileName ; } public String getMyFileContentType() { return contentType ; } public String getMyFileFileName() { return fileName ; } public void setMyFile(File myFile) { this.myFile = myFile ; } public File getMyFile() { return myFile ; } public void setCaption(String caption) { this.caption = caption ; } public String getCaption() { return caption ; } public void setImageFileName(String imageFileName) { this.imageFileName = imageFileName ; } public String getImageFileName() { return imageFileName ; } /** * 复制文件 * @author JeeLee * @param srcFile * @param desFile */ public void copyFile(File srcFile,File desFile) { InputStream in = null ; OutputStream out = null ; try { in = new BufferedInputStream(new FileInputStream(srcFile),BUFFER_SIZE) ; out = new BufferedOutputStream(new FileOutputStream(desFile),BUFFER_SIZE) ; byte[] buffer = new byte[BUFFER_SIZE]; while(in.read(buffer)>0) { out.write(buffer) ; } } catch(IOException e) { System.out.println("读取文件错误:"+e); } finally { try { if(in!=null) { in.close(); } if(out!=null){ out.close(); } } catch(IOException e) { System.out.println("关闭文件失败:"+e); } } } /** * 获得文件扩展名 * @author JeeLee * @param fileName * @return */ public String getExtention(String fileName) { System.out.println("file name ="+fileName); int pos = fileName.lastIndexOf("."); return fileName.substring(pos) ; } /** * 上传文件的action * @author JeeLee * @return */ public String uploadFile() { String imgFile; System.out.println("test------------------"); imageFileName = new Date().getTime() + getExtention(fileName); imgFile = ServletActionContext.getServletContext().getRealPath("/pic")+"/"+imageFileName ; System.out.println("imgFile=="+imgFile); File imageFile = new File(imgFile); copyFile(myFile,imageFile) ; return "UPLOAD:SUCCESS" ; } public String deleteFile() { myFile.delete(); return "DELETE:SUCCESS" ; } /*@Override public String execute() { imageFileName = new Date().getTime() + getExtention(fileName); File imageFile = new File(ServletActionContext.getServletContext().getRealPath("/pic")+"/"+imageFileName); copyFile(file,imageFile) ; return SUCCESS ; }*/ }
2,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.i18n.encoding" value="UTF-8" /> <package name="jeelee" extends="struts-default"> <!--上传文件--> <action name="uploadFile" class="org.jeelee.action.UploadFileAction"> <result name="UPLOAD:SUCCESS">showUploadFile.jsp</result> <result name="DELETE:SUCCESS">showUploadFile.jsp</result> </action> </package> </struts>
3,JSP文件:
上传页面:loadfile.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!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=UTF-8"> <title>struts2 上传文件</title> </head> <body> <s:form action="uploadFile.action" enctype ="multipart/form-data" > <s:file name="myFile" label="上传文件"></s:file> <s:textfield name="fileName" label="caption"></s:textfield> <s:submit name="ccc" method="uploadFile" value="上传"></s:submit> <s:submit name="ddd" method="deleteFile" value="删除"></s:submit> </s:form> </body> </html>
显示结果页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!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=UTF-8"> <title>struts2 上传文件结果显示</title> </head> <body> <div style ="padding: 3px; border: solid 1px #cccccc; text-align: center" > <img src ='<s:property value ="imageFileName" />' /> <br /> <s:property value ="caption" /> </div > </body> </html>
发表评论
-
struts 用if标签判断session是否存在
2016-12-06 20:20 812登录时设置session session.put(&quo ... -
struts2 s:property 用法
2016-03-05 14:15 9991,访问Action值栈中的普 ... -
<s:hidden>标签获取url中的参数
2016-03-05 11:29 1049假设URL传递的参数: url="adminIn ... -
struts条转后,js、css失效问题
2015-08-31 20:58 0最近遇到了一个奇怪的问题,Struts2进行完处理后跳转到其他 ... -
<s:iterator>各种遍历用法
2015-08-31 20:43 0<s:iterator>各种遍历用法 转自:ht ... -
ibatis连接oracle11G报错,原因是ojdbc.jar包的bug
2015-03-21 11:59 1121ibatis连接oracle11G报错,原因是ojdbc.ja ... -
<s:iterator>的status属性
2015-03-16 21:49 1212<s:iterator>的status属性 &l ... -
struts2.2.3 web.xml配置变化
2011-12-24 16:09 1237<filter> <filter-n ... -
struts警告信息
2011-09-03 14:30 1263警告信息: 警告: No con ... -
struts2.2.3需要11个基本包
2011-09-03 14:22 2676struts2.2.3需要11个基本包: asm-3.1.ja ... -
struts2中常用Result类型的用法
2010-09-05 09:42 1352一、dispatcher (1)为缺省的result类型,一 ... -
java.lang.OutOfMemoryError: PermGen space及其解决方法
2010-08-01 18:07 1673java.lang.OutOfMemoryError: Per ... -
pageEncoding和charset
2010-07-31 21:03 1291pageEncoding是jsp文件本身的编码 conten ... -
<taglib>标签在web.xml文件中报错解决方法
2010-07-03 17:11 4459配置web.xml文件时,taglib ... -
如何将java中的属性值显示在文本框中?
2010-05-01 11:38 5134最近写了一个页面,一个文本框中要显示java的属性值 我知道可 ... -
JFreeChart教程(二)
2010-04-18 21:44 96161 一、JFreeChart获取。 JFree ... -
JFreeChart教程(一)
2010-04-18 21:42 1597一、jFreeChart产生图形的流程 创建一个数据源(da ... -
<s:checkbox>标签 嵌套循环
2010-01-09 13:29 1392<s:iterator value="subM ... -
Struts2 DoubleSelect标签的使用
2009-12-30 22:16 2378Struts2本身提供了级联下拉选择框标签,这对简化诸如省份/ ... -
struts2 标签的帮助提示tooltip
2009-12-30 21:14 1417在struts2中标签有个属性tooltip="帮助 ...
相关推荐
struts上传文件(图片/附件),希望对初学struts的同学们有帮助。如果有事么不足,请大家多指教。
本项目以"ajax Struts 上传文件"为主题,通过Ajax调用Struts的Action来实现文件的无刷新上传。 无刷新上传文件是一种用户友好的功能,它允许用户在不重新加载整个网页的情况下上传文件,极大地提高了交互性。在这个...
总结来说,这个"EasyUI和Struts上传文件的例子"涉及到的技术点包括:Struts2框架的Action配置与文件处理,EasyUI的表单和进度条组件,多部分表单数据处理,以及JRE1.7的文件操作API。通过这个示例,开发者可以学习...
在"struts上传文件及下载"的主题中,我们将深入探讨如何使用Struts2实现文件的上传与下载功能,以及如何将上传的文件存储到数据库并从数据库中检索用于下载。 1. **文件上传** - **Action配置**:首先,你需要创建...
Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...
`FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...
以下是对“Struts上传文件”这一主题的详细讲解。 1. **Struts 2文件上传组件**: Struts 2 提供了 `org.apache.struts2.components.File` 组件来处理文件上传。这个组件可以与表单元素结合,使用户能够选择要上传...
struts上传文件.doc
Struts上传文件是Java Web开发中常见的一种功能,主要用于允许用户从客户端浏览器向服务器传输文件。在Struts框架中,文件上传涉及到MVC设计模式、Model2模式以及Struts的工作流程。下面将详细解释这些知识点。 **...
在上述代码中,我们限制了最大上传文件大小为5MB,并将文件保存到了服务器的一个特定目录。为了防止路径遍历攻击,应使用相对路径或者绝对路径,并确保路径安全。 最后,前端页面(例如upload.jsp)需要包含一个...
2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...
1. **配置Struts2**: 首先,需要在struts.xml配置文件中启用文件上传插件,并设置最大上传文件大小。 ```xml <constant name="struts.multipart.maxSize" value="10485760"></constant> <!-- 10MB --> ...
在本文中,我们将深入探讨如何在Struts中实现文件上传,并结合`SetCharacterEncodingFilter.java`这个文件名,讨论字符编码的重要性。 首先,文件上传在Web应用中是一个常见的需求,例如用户可能需要上传头像、简历...
3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...
配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...
文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...
struts2上传文件的进度条显示,绝对可用! 所达到效果 1.显示总文件大小 2.显示已上传文件大小 3.显示当前进度(百分比控制) 4.显示剩余上传时间 5.显示当前速度 (本人研究了很久才搞出来的,希望大家指教...
以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...