Struts中提供了直接访问静态文件的机制,例如图片、css文件、js文件等。
这对于开发plugin而言很重要。一个完整的plugin很可能包含了UI界面元素,如果没有直接访问静态文件的机制,那么plugin中的UI界面将无法完整的封装在jar包中,导致plugin最终是不完整的。
关于静态文件内容的访问可以参考官方资料:
http://struts.apache.org/2.3.1.2/docs/static-content.html
默认的struts提供了一个static目录让开发者存放静态文件,该目录应放置在你源文件的根目录下,这样在页面中你就可以通过象“static/childdir/some.css”这样的路径来引用这些静态文件资源。
如果你不想受限于struts默认提供的这个static目录,你也可以自定义静态文件目录,这样做:
1. 自己写一个StaticContentLoader接口的实现类或者继承DefaultStaticContentLoader,建议继承。
2. 覆盖DefaultStaticContentLoader类的canHandle、cleanupPath、getAdditionalPackages三个方法。(这三个方法很简单,一看就懂,就不说怎么修改了。)
3. 在struts-plugin.xml配置中配置使用自定义的StaticContextLoader类。
<constant name="struts.staticContentLoader" value="xx.xxx.YourStaticContentLoader" />
分享到:
相关推荐
- **使用自定义Result Type**:定义好自定义的Freemarker Result Type后,还需要在Struts配置文件中声明该结果类型,并在Action中指定使用。 ```xml <!-- struts.xml --> <constant name="struts.custom.i18n....
总结来说,Struts的文件下载功能依赖于自定义Action类、HTTP响应头的设置以及Struts配置文件中的映射规则。通过理解这些核心概念,开发者可以轻松地实现在Java Web应用中提供安全、高效的文件下载服务。
1. **配置Struts2**:首先,需要在Struts2的配置文件中(通常为struts.xml)添加相关的配置,声明FreeMarker作为视图解析器,并指定FreeMarker的配置文件路径。 2. **创建FreeMarker模板**:在项目资源目录下创建一...
指定了Struts 2应用加载的用户自定义属性文件,自定义属性文件中的设置不会覆盖`struts.properties`文件中的配置。如果需要加载多个自定义属性文件,可以使用英文逗号`,`分隔文件名。 #### struts.mapper.class 该...
自定义函数需要实现特定的接口或者继承特定的类,并在TLD文件中进行声明。例如,若要创建一个名为`myFunction`的自定义函数,可以按照以下步骤操作: 1. **编写实现类**:创建一个类实现`javax.el.FunctionMapper`...
在Struts2中,配置静态资源是为了确保像CSS、JavaScript、图片等非Action处理的资源能够正常被浏览器访问。这些资源通常不涉及业务逻辑,而是用于页面展示和交互。配置静态资源对于优化应用性能和提升用户体验至关...
- **配置文件**:在struts.xml或类似的配置文件中,使用`<conversion>`标签定义转换规则,包括转换器类和匹配的类型。 5. **示例与实践** 创建一个自定义类型转换器,比如转换一个自定义的枚举类型。首先创建一个...
**描述**: 该属性允许用户自定义额外的属性文件,这些文件中的属性不会覆盖`struts.properties`中的属性。多个自定义属性文件可以通过逗号分隔列出。 **示例代码**: ```properties struts.custom.properties=myapp...
这个Result类型会在Action处理完请求后,将生成的FreeMarker模板内容写入到一个静态HTML文件中。同时,需要设置适当的缓存策略,例如根据内容更新时间或用户权限来决定何时重新生成静态页面。 5. **配置和优化**:...
3. **配置Struts2**:在Struts2的配置文件`struts-default.xml`或自定义的配置文件中,设置全局结果类型`stream`的编码: ```xml <constant name="struts.i18n.encoding" value="UTF-8"/> ``` **方法二:配置...
Struts2的配置通常存储在一个名为`struts.xml`的XML文件中。这个文件遵循特定的DTD(文档类型定义),如`struts-2.0.dtd`,确保其结构的正确性。 2. **常量配置**: `<constant>`元素用于定义配置文件中的全局...
因此,将配置分散到多个文件中可以提高代码的可读性和可维护性。 1. **多配置文件的引入**:要使用多个配置文件,你需要在`struts.xml`(或你自定义的主配置文件)中通过`<include>`标签导入其他配置文件。例如: ...
通过以上对`struts.properties`文件中各关键配置项的解析,我们可以看出这些配置项对于定制和优化Struts2应用有着至关重要的作用。开发者可以根据实际需求调整这些配置项,以实现更加高效和安全的应用程序。
检查`struts-default.xml`或自定义的配置文件,确认404错误是否被正确地映射到了一个自定义的错误页面。 8. **IDE或服务器设置**:有时候,开发环境或服务器的配置也可能导致404错误,例如Tomcat的Context配置、...
需要在Struts配置文件中配置对应的Action以处理Uploadify的请求。 7. **前端代码**:使用jQuery和Uploadify的JavaScript代码来初始化和控制上传过程,包括事件监听、回调函数等。 8. **后端处理**:在Java代码中,...
Struts2是一个流行的...这些属性可以放在`struts.properties`文件中,或者通过其他自定义属性文件加载,以定制Struts2的行为,适应不同的项目需求。理解和正确配置这些属性对于优化Struts2应用的性能和功能至关重要。
Struts.properties 文件是 Struts2 框架的核心配置文件之一,它定义了...以上就是 Struts.properties 文件中主要属性的详细说明,理解并适当地配置这些属性可以有效地调整 Struts2 框架的行为,以满足特定项目的需求。
struts.custom.properties 属性指定 Struts 2 应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖 struts.properties 文件中指定的属性。 12. struts.mapper.class struts.mapper.class 属性指定...
- **示例**: 假设创建了一个名为`CustomConfiguration`的自定义类来管理配置文件,可以在配置文件中设置`struts.configuration=CustomConfiguration`。 **2. struts.locale** - **功能**: 设置Web应用的默认语言...
`struts.properties`文件通常位于项目的`WEB-INF/classes`目录下,这样可以确保它被包含在类路径(CLASSPATH)中,以便Struts2能够正确加载并解析其中的配置信息。 ### 核心配置项详解 #### struts.action....