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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<include file="example.xml"/>
<!-- Add packages here -->
</struts>
example.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>
<package name="example" namespace="/example" extends="struts-default">
<action name="download" class="example.FileDownloadAction">
<param name="inputPath">/images/Lighthouse.jpg</param>
<result name="success" type="stream">
<param name="contentType">image/gif</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">filename="struts.gif"</param>
<param name="bufferSize">4096</param>
</result>
</action>
<action name="download2" class="example.FileDownloadAction">
<param name="inputPath">/images/struts-gif.zip</param>
<result name="success" type="stream">
<param name="contentType">application/zip</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">filename="struts-gif.zip"</param>
<param name="bufferSize">4096</param>
</result>
</action>
<!-- Add actions here -->
</package>
</struts>
FileDownloadAction
package example;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
/**
* Demonstrates file resource download.
* Set filePath to the local file resource to download,
* relative to the application root ("/images/struts.gif").
*
*/
public class FileDownloadAction implements Action {
private String inputPath;
public void setInputPath(String value) {
inputPath = value;
}
public InputStream getInputStream() throws Exception {
return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}
public String execute() throws Exception {
return SUCCESS;
}
}
HelloWorld.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<h3>Languages</h3>
<h1>File Download Example</h1>
<ul>
<li>
<s:url var="url" action="download"/><s:a href="%{url}">Download image file.</s:a>
The browser should display the Struts logo.
</li>
<li>
<s:url var="url" action="download2"/><s:a href="%{url}">Download ZIP file.</s:a>
The browser should prompt for a location to save the ZIP file.
</li>
</ul>
</body>
</html>
分享到:
相关推荐
总结来说,这个程序实例展示了如何利用Struts2框架实现一个完整的文档管理功能,包括文档上传、安全控制以及多种格式的在线预览。通过OpenOffice和PDF2SWF,不同类型的文档能够被有效地转换和展示,使得用户无需离开...
通过这个帮助文档,开发者可以学习到如何使用Struts2的Action配置、拦截器栈定制、结果类型配置、表单验证、国际化和本地化、以及如何利用Struts2与其他技术(如Spring、Hibernate)集成。同时,对于调试和解决...
在下载并引入这些jar包后,开发者需要在Web应用的web.xml文件中配置Struts2的前端控制器(DispatcherServlet),并可能需要编写相应的Action类、配置Action和结果映射,以及视图页面。同时,Struts2通过拦截器链提供...
除此之外,压缩包可能还包含了其他的JAR文件,如用于国际化、文件上传、验证等功能的插件,以及Struts2的文档和示例代码。 开发者通常会将这些JAR文件添加到项目的类路径中,以便使用Struts2提供的各种功能。同时,...
结合Struts2,一个流行的Java Web框架,可以构建出高效、用户友好的文件上传功能。下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用...
在Struts2的配置文件中,我们可以定义这些规则,例如限制上传文件的大小,只接受特定类型的文件(如图片、文档等)。此外,我们还需要关注安全问题,防止恶意文件上传。 文件上传的实现通常包括以下几个步骤: 1. ...
Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它在Web应用开发中被广泛使用。本项目源码提供了一个...同时,查阅Struts2的官方文档和其他教程资源,可以帮助你更好地掌握Struts2框架。
下面将详细讨论Struts2框架以及它在构建在线考试系统中的应用。 1. **Struts2框架**:Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,具有更好的灵活性和扩展性。Struts2的核心是Action类,它处理...
3. **struts2-config-browser-plugin.jar**:提供了一个Web界面,用于浏览和编辑Struts2的配置信息。 4. **struts2-dojo-plugin.jar**:整合了Dojo JavaScript库,便于创建富客户端界面。 5. **struts2-json-...
在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...
1. **struts2-core.jar**:这是Struts2的核心库,包含了Action、Result、Interceptor等核心类和接口,以及Struts2的配置管理。 2. **struts2-convention-plugin.jar**:提供了约定优于配置的特性,允许开发者通过...
Struts2是一个基于MVC(Model-View-Controller)设计模式的开源...在实际开发中,还需要了解如何配置Struts2的XML配置文件(struts.xml或struts-default.xml),以及如何编写Action、Interceptor和结果视图等关键组件。
- 选择`JARs or directories`,浏览并添加Struts2的jar文件,通常这些文件位于Struts2的lib目录下。 - 添加完成后,点击`Finish`,User Library就会被添加到项目构建路径中。 - **在IntelliJ IDEA中:** - 打开...
本文将深入探讨Struts2标签的中文文档,以及如何利用这些文档进行有效开发。 首先,`struts2-tags-API.chm`是一个Windows帮助文档,通常用于离线查阅。CHM文件是一种基于HTML的帮助文件,集成了目录、索引和搜索...
### Struts2 使用注解实现文件下载功能详解 #### 一、引言 在Web开发过程中,文件上传与下载是常见的需求之一。Struts2框架提供了丰富的特性来处理这类操作,其中结合注解的方式可以更加简洁高效地实现文件下载...
**基于Struts2+Hibernate在线书店系统的详解** 本项目是一个基于Struts2和Hibernate框架的简单在线书店系统,采用MySQL作为后台数据库,旨在实现网上书店的基本业务功能,并且具有清晰的分层架构。以下是该系统的...
在本系统中,"struts框架写的文件上传下载系统"是利用Struts框架来实现文件的上传和下载功能,提供了一个平台让用户能够注册成为会员后进行文件操作。 首先,让我们深入理解Struts框架的核心概念: 1. **模型...
在Struts2框架中,文件上传和下载是常见的功能需求,但处理中文文件名或内容时,可能会遇到中文乱码的问题。这个问题主要涉及到字符编码的处理,包括HTTP请求的编码、文件名的编码以及文件内容的编码。接下来,我们...
本文将深入探讨如何使用Struts2和ExtJS3实现单文件和多文件的上传功能。 首先,我们要理解文件上传的基本流程。在Web应用中,用户通过浏览器选择本地文件,然后这些文件的数据被封装到HTTP请求中发送到服务器。...
1. **配置文件**:在Struts2中,通常会有struts.xml文件,它是整个应用的配置中心,用于定义Action类、结果类型、拦截器栈等。在这个当当网实现项目中,开发者会在此文件中配置Action的映射路径、结果页面跳转逻辑...