`
lym6520
  • 浏览: 696372 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

struts1.2 <htm:file>标签应用

    博客分类:
  • JAVA
阅读更多
1)首先创建个JavaWeb项目FileTag
2)然后添加Struts框架
3)创建file.jsp页面,注意在应用的模板中选择:Standard JSP using Struts 1.2/1.3
4)在file.jsp页面的BODY部分添加以下代码:(看源代码file.jsp红色字体)

<html:form action="file_tag" method="post" enctype="multipart/form-data">
    upload<html:file property="file"><br>
      </html:file>
    <html:submit value="submit"/>
    </html:form>
    you upload file:<bean:write name="file_tagForm" property="filename"/><br>
    size:<bean:write name="file_tagForm" property="size"/>


5)接下来创建一个Form,选择Struts 1.2 Form,Use Case名称为:File
6)创建完成后,打开FileForm.java,写入以下代码:(看源代码FileForm.java红色字体) 
private FormFile file;//定义从Form表单获得的文件
    private String filename;
    private String size;

//并生成get和set方法省略...
   
7)接下来要创建个Action,来处理从Form中获得的内容,选择Struts 1.2 Action,Use Case名称为:File,选择对应得Form(FileForm.java)和输入页面(file.jsp)
8)在FileAction.java中,写入以下代码: (看源代码file.jsp红色字体)
 
 
String dir=servlet.getServletContext().getRealPath("/upload");//获得upload文件夹的路径
  
  FormFile f=fileForm.getFile();
  
  String fname=f.getFileName();//获得文件名
  
  String size=Integer.toString(f.getFileSize())+"bytes";//获得文件大小
  
  try {
  
   InputStream in=f.getInputStream();//获得文件流
  
   OutputStream out=new FileOutputStream(dir+"/"+ffname);//定义输出流,指定存放的位置及文件名
  
   int bytesRead=0;
   byte[] buffer=new byte[8192];
   while((bytesRead=in.read(buffer,0,8192))!=-1){//in.read(buffer,0,8192)返回一个数值,把数据流读到buffer中,若-1数据流读取完毕
    out.write(buffer, 0, bytesRead);//读出输入流到out
   }
  
   //关闭输入,输出流
   out.close();
   in.close();
  
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  
  file_tagForm.setFilename(fname);
  file_tagForm.setSize(size);
  
  return mapping.getInputForward();


9)在WebRoot文件夹下创建upload文件夹
10)启动tomcat,并把项目部署到tomcat中
11)打开浏览器输入URL:http//localhost:8080/FileTag/file.jsp 上传一个文件,可以在tomcat目录下的webapps\FileTag\upload文件夹中找到上传得文件

提示:因为没有对编码进行设置,所以当你上传得文件名是中文得时候,文件命会乱码,要改变乱码需要做个过滤器
分享到:
评论
1 楼 brilliantree 2013-06-04  
学习下,谢谢!

相关推荐

    struts2 <s:if>标签使用

    struts2 &lt;s:if&gt;标签使用struts2 &lt;s:if&gt;标签使用struts2 &lt;s:if&gt;标签使用struts2 &lt;s:if&gt;标签使用struts2 &lt;s:if&gt;标签使用struts2 &lt;s:if&gt;标签使用

    struts标签(如<html:form>)

    关于STRUTS标签的一些详细说明。 如:&lt;html:form&gt;的说明。

    struts2<s:if>使用心得

    &lt;td&gt; &lt;s:set name="actorRef" value="actorId" /&gt; &lt;s:set name="taskName" value="name" /&gt; &lt;s:if test="#actorRef=='' or #actorRef==null"&gt;共享任务(&lt;a href="${pageContext.request.contextPath}/ga/...

    Struts 1.XX <html:file>的使用

    NULL 博文链接:https://12345678.iteye.com/blog/713954

    Struts2中使用标签实现组合查询和带分页的例子

    NULL 博文链接:https://z18022893621.iteye.com/blog/1956098

    struts与jsp 使用方法

    在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是&lt;s:iterator&gt;标签。

    struts2 OGNL之&lt;s:property&gt;标签访问值栈(value stack)用法

    struts2 OGNL之&lt;s:property&gt;标签访问值栈(value stack)用法,希望能对大家有帮助

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    Struts2标签库的所有

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    struts 2 s标签 struts 2 s标签

    struts 2 s标签 a标签创建一个HTML超链接,等价于HTML 的&lt;a href="".... 示范代码: &lt;s:a href="login.action"&gt;登陆&lt;/s:a&gt;

    struts2文件上传下载

    struts2文件上传与下载, &lt;s:form name="Myform" action="/fileManage/upload" method="post" enctype="multipart/form-data" theme="simple" &gt; &lt;s:fielderror&gt;&lt;/s:fielderror&gt; &lt;s:file name="image" label=...

    struts2标签大全

    &lt;s:checkbox&gt;&lt;/s:checkbox&gt;-----复选框 &lt;s:checkboxlist list=""&gt;&lt;/s:checkboxlist&gt;-----多选框 &lt;s:combobox list=""&gt;&lt;/s:combobox&gt;-----下拉框 &lt;s:component&gt;&lt;/s:component&gt;-----图像符号 D: &lt;s:date/&gt;-----获取...

    struts2标签技术

    &lt;s:property /&gt;&lt;br/&gt; &lt;/s:iterator&gt; &lt;/s:generator&gt; 例2: 生成一个iterator,使用count属性。因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。 Generate an iterator with count ...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;...

    struts2的标签库

    &lt;%@ taglib prefix="s" uri="/struts-tags"%&gt; struts2的标签共分为五大类: 一、逻辑控制标签 用于进行逻辑控制输出。主要分以下几类: 1)条件标签:用于执行基本的条件流转 &lt;s:if&gt;:拥有一个test属性,其表达式的值...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;标签 16.4.6、&lt;html:hidden...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;...

Global site tag (gtag.js) - Google Analytics