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文件夹中找到上传得文件
提示:因为没有对编码进行设置,所以当你上传得文件名是中文得时候,文件命会乱码,要改变乱码需要做个过滤器
分享到:
相关推荐
通过以上几个示例,我们可以看到 `<s:if>` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `<s:iterator>`,可以实现更复杂的逻辑...
总结来说,Struts 1.XX `<html:file>`标签是处理Web表单文件上传的一种方式,它简化了在Java Web应用中实现这一功能的过程。通过结合ActionForm、Action类以及Struts配置文件,开发者可以构建出完整的文件上传解决...
在Struts2框架中,`<s:if>`标签用于条件判断,类似于Java中的if语句。本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`<s:if>`标签进行逻辑控制。 ### Struts2概述 ...
关于STRUTS标签的一些详细说明。 如:<html:form>的说明。
在这个主题中,我们将深入探讨OGNL(Object-Graph Navigation Language)以及如何通过`<s:property>`标签来访问Struts2中的值栈(Value Stack)。值栈是Struts2中一个核心的概念,它是一个存储用户请求数据和应用...
总结,Struts1.2标签实例对于初学者来说是非常有价值的教育资源,它可以帮助开发者快速掌握Struts框架的使用,提升Web应用开发的效率。通过深入理解和实践,开发者可以利用这些标签构建出高效、可维护的用户界面。
- `<s:if>`、`<s:elseif>` 和 `<s:else>` 标签用于实现条件判断逻辑。 - 示例: ```xml <s:if test="%{testBoolean}"> <p>这是显示的内容</p> </s:if> <s:elseif test="%{testBoolean == false}"> <p>这是另...
Struts 是一个经典的Java Web开发框架,它提供了一套丰富的标签库来简化JSP页面的编写,特别是对于处理用户输入和展示数据。...通过理解和熟练使用这些标签,可以更高效地构建基于Struts的Web应用。
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。
- **其他标签**:如`<cookie>`, `<header>`, `<include>`, `<parameter>`, `<resource>`, `<size>`, `<struts>`, `<write>`等,它们分别处理特定任务,如cookie管理、资源加载、集合大小等。 4. **HTML标签库**: ...
Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的核心部分包括一个控制器Servlet,它负责接收HTTP请求,并根据配置的Action映射来...
使用Struts 1.2的标签时,你需要在JSP页面中导入相应的标签库,通常通过`<%@ taglib %>`指令完成。例如,引入HTML标签库的指令为`<%@ taglib prefix="html" uri="/tags/html" %>`。 在实际开发中,理解并熟练运用...
1. **Struts1.2基础**:理解MVC模式,学习Action和Form Bean的概念,配置struts-config.xml文件,使用Struts提供的各种标签(如<s:form>、<s:textfield>)。 2. **JSTL应用**:掌握JSTL的各个标签库,学会如何在JSP...
- 在JSP页面中引入Struts1.2标签库,通常通过`<%@ taglib %> `指令完成,例如:`<%@ taglib prefix="s" uri="/struts-tags" %> `,其中`s`是自定义的前缀,`/struts-tags`是标签库的URI。 - 使用标签时,通过指定...
如果想要调用Action,应该使用Struts2的标签库,如`<s:actionexecute/>`或`<s:redirect/>`。 解决“no found”问题的步骤可能包括检查上述所有方面,确保配置正确、路径无误、拦截器没有干扰,以及web.xml的错误...
<%@ taglib prefix="s" uri="/struts-tags" %> ... <s:iterator value="myMap"> <tr> <td><s:property value="key" /></td> <td><s:property value="value" /></td> </tr> </s:iterator> ``` 在这个例子中,`...
Logic标签库则提供了控制流程的标签,如`<logic:iterate>`用于迭代集合,`<logic:equal>`、`<logic:notEqual>`、`<logic:greaterThan>`等用于条件判断,`<logic:present>`、`<logic:notPresent>`用于检查请求、会话...
`<write>`和`<logic>`是Struts 1.x中的两个核心标签,主要用于视图层的展示和逻辑控制。 `<write>`标签是Struts的HTML标签库的一部分,主要用来在JSP页面中显示来自ActionForm或者Servlet请求范围内的属性值。例如...
在Struts应用中,`<html:html>`和`<html:base>`标签用于初始化页面的一些基本属性。`<html:html>`标签可以根据用户会话或HTTP请求头中的语言偏好来设置HTML文档的语言属性,这在国际化应用中尤为重要。`<html:base>`...
- `<s:file>` 标签用于处理文件上传,与Struts2的文件上传功能结合使用。 - `<s:form>` 创建表单,可以指定Action,收集用户输入的数据。 G. `<s:generator>` 和 `<s:iterator>`: - `<s:generator>` 通常与`s:...