`
giky2323
  • 浏览: 28677 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts动态添加多附件上传功能(和163一样一个个的加的那种)

阅读更多

要注意的几点:

1.jsp页面。

1.1提交的form要写enctype="multipart/form-data",

<html:form action="/gamearticlesae?method=addnew" enctype="multipart/form-data"> </html:form>

1.2jsp页面用JS动态添加控件的方法:

js 代码
  1. <script>   
  2. var idIndex=0;   
  3. function addFile()   
  4.   {//添加表格的一行   
  5.   oTR=idTB.insertRow(idTB.rows.length);   
  6.   tmpNum=oTR.rowIndex;   
  7.   oTD=oTR.insertCell(0);   
  8.   oTD.innerText = tmpNum;//在该处添加的HTML代码会原封不动的显示在页面上   
  9.   alert(tmpNum);   
  10.   oTD.innerHTML ="<input type='file' name='file("< span="">+tmpNum+")'>  <button onclick='removefile();'>delete
    "
    ;//要在该格添加的HTML代码填在这里,因为这里是text,注意不要重名了。   
  11.   idLast.innerText=idTB.rows.length;   
  12.   if(idTB.rows.length>0)   
  13.     idFirst.innerText='1';   
  14.   return true;   
  15. }   
  16. function removeFile()   
  17.   {//删除表格的一行   
  18.   sIndex=idIndex.value;   
  19.   if(sIndex=='')   
  20.     sIndex=idTB.rows.length-1;   
  21.   else  
  22.     sIndex=parseInt(sIndex)-1;   
  23.        
  24.  idTB.deleteRow(sIndex);   
  25.      
  26.   idLast.innerText=idTB.rows.length;   
  27.   if(idTB.rows.length==0)   
  28.     idFirst.innerText='0';   
  29. }   
  30. </script>   

相应的:

js 代码
  1.     "addFile()" value="添加附件">   
  2.     
  3.    

2.actionform的问题

因为附件的个数是不确定的,所以用

java 代码
  1. private List files = new ArrayList();   
  2.   
  3.  public FormFile getFile(String index) {   
  4.      return (FormFile) files.get(Integer.parseInt(index));   
  5.     }   
  6.   
  7.     public void setFile(String index, FormFile file) {   
  8.      this.files.add(file);   
  9.     }   
  10.   
  11.     public List getFiles() {   
  12.      return this.files;   
  13.     }   
  14.   

3.action

       java 代码

  1. Hashtable fileh=gamearticlesaeForm.getMultipartRequestHandler().getFileElements();   
  2. for (Enumeration e = fileh.keys(); e.hasMoreElements(); ) {    
  3.     String key = (String) e.nextElement();    
  4.     try {    
  5.     FormFile formfile = (FormFile) fileh.get(key);    
  6.     String filename = formfile.getFileName().trim(); //文件名    
  7.     log.info("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ the filename is "+filename);   
  8.     }   
  9.     catch(Exception sse){}   
  10. }   

 

翻了下孙MM的书,

java 代码
<html:file property="xxx">
  1. "file" NAME="xxx">

 

</html:file>
这样就OK了
分享到:
评论
5 楼 elvishehai 2009-07-28  
这个好像不是很快啊,  写一个线程来做吧
4 楼 rickhunter 2009-04-24  
请LZ提供完整点的代码,为什么我只能得到一个附件。

<html:file property="xxx"> 这个XXX在formbean中怎么定义。
3 楼 hanyuhaha 2008-07-31  
嗯,好贴!
2 楼 giky2323 2007-12-23  
再仔细看看你的东东,我写了几次了都是可以的。
1 楼 zlsunnan 2007-11-24  
为什么  Hashtable fileh=gamearticlesaeForm.getMultipartRequestHandler().getFileElements();      取不到呢

相关推荐

    struts 附件上传 仿照163样式 实例

    总的来说,"struts 附件上传 仿照163样式 实例"是一个综合性的实践项目,涵盖了Struts2的文件上传机制、前端页面设计、后端业务逻辑以及安全性等多个方面的知识。通过这个实例,开发者可以深入理解Struts2框架的使用...

    struts多附件上传

    在"struts多附件上传"这个主题中,我们将深入探讨如何使用Struts框架实现多个文件的上传功能。 一、Struts框架基础 1. Struts框架的核心组件包括Action、ActionForm、ActionMapping和Result。Action处理用户请求,...

    STRUTS 2 动态上传附件

    这个功能通常用于用户可以上传多个文件的情况。具体步骤如下: 1. **动态添加文件输入框**: 使用JavaScript函数`addFile11()`动态创建`&lt;input type='File'&gt;`元素,并添加到表格中。 2. **删除文件输入框**: 使用`...

    struts2实现多文件上传功能

    在实际项目中,文件上传功能是常见的需求,比如用户上传个人头像、提交附件等。Struts2提供了完善的文件上传支持,让我们来详细探讨如何在Struts2中实现多文件上传。 首先,我们需要在Struts2的配置文件(struts....

    用Struts框架实现多文件上传功能(初学者的入门项目案例)

    在本项目中,我们将学习如何利用Struts框架实现多文件上传的功能,这对于初学者来说是一个很好的实践项目,能够帮助理解和掌握Struts的核心概念。 首先,了解文件上传的基本原理。在Web应用中,文件上传通常涉及到...

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    struts实现的文件上传下载功能

    这个功能对于任何Web应用来说都是非常重要的,因为它允许用户交互地处理数据和资源。 首先,我们需要理解文件上传的基本流程。在Struts中,这通常涉及到以下步骤: 1. **前端页面**:创建一个HTML或JSP页面,包含...

    使用struts2实现的文件上传功能

    Struts2是一个强大的MVC(模型...总的来说,Struts2提供了一个方便且可扩展的文件上传解决方案,使得开发者能够轻松地在Web应用中实现这一功能。通过以上步骤,你可以在Tomcat服务器上直接部署并运行你的文件上传应用。

    Struts+swfupload实现文件上传功能

    通过以上步骤,你可以使用Struts和SwfUpload实现一个强大的文件上传功能。在实际项目中,你可能会遇到更多具体问题,如跨域问题、文件预处理、文件存储策略等,需要根据业务需求进行调整和优化。提供的"demo_...

    struts多文件上传

    在Struts1.2版本中,实现多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,这对于数据交互、资源分享等场景非常实用。在本教程中,我们将深入探讨如何在Struts1.2中实现这一功能。 首先,理解多...

    struts1上传多个文件同时

    总的来说,实现Struts1框架下的多文件上传涉及到前端的选择和预览,后端的接收和处理,以及第三方库的集成。虽然相比现代框架,这种方式可能显得较为繁琐,但它仍然是理解Web应用文件上传机制的一个重要案例。在实际...

    Struts2 上传和下载功能

    这篇博客文章可能详细讨论了如何在Struts2框架中实现这两个功能。 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,这是一个Apache提供的用于处理HTTP多部分请求的工具。以下是实现文件上传的基本步骤: ...

    struts1.2实现动态多文件上传

    在Struts1.2中实现动态多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,如图片、文档等。这项功能的实现涉及前端表单设计、后端处理逻辑以及文件存储策略。 首先,我们需要创建一个HTML或JSP页面...

    ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)

    ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)(项目源码) 博文地址:http://blog.csdn.net/itmyhome1990/article/details/36433621

    struts1和struts2分别实现文件上传下载功能

    Struts1和Struts2是两个非常著名的Java Web框架,它们都提供了处理文件上传和下载的功能,但实现方式有所不同。本文将深入探讨这两个框架在文件操作方面的具体实现。 首先,让我们了解一下Struts1中的文件上传功能...

    struts2实现的多个文件上传

    在Struts2的配置文件(通常是struts.xml)中,你需要为你的Action添加一个或多个action配置,指定处理文件上传的result类型。Struts2提供了一个特殊的`stream`结果类型,用于处理文件上传: ```xml ...

    struts 上传 和 smartupload上传

    **Struts上传** Struts是Apache软件基金会下的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在Struts 1.x版本中,处理文件上传主要依赖于`org.apache.struts.upload.FormFile`...

    swfuplaod+struts2实现多文件上传

    SWFUpload 是一款开源的Flash上传组件,...通过上述步骤和注意事项,你可以利用SWFUpload和Struts2构建一个功能强大且安全的多文件上传功能。在实际项目中,根据需求进行适当的定制和优化,以满足用户需求和系统安全。

    Struts2文件动态上传和动态下载(可自动生成下载内容)

    Struts2是一个强大的MVC(模型-视图-控制器)...总之,这个项目为开发者提供了一个实践Struts2文件上传和动态下载功能的平台,通过学习和研究源代码,可以深入理解Struts2框架在这方面的工作原理,提升Web开发技能。

    struts上传多文件

    总之,通过Struts2和Commons FileUpload库,我们可以方便地实现多文件上传功能。关键在于正确配置Action类、Struts2配置文件以及前端表单。在处理文件上传时,一定要注意文件的安全性和大小限制,避免服务器被恶意...

Global site tag (gtag.js) - Google Analytics