`
jnoee
  • 浏览: 68423 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts中增加自定义静态文件目录

 
阅读更多

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" />
分享到:
评论
1 楼 greatghoul 2012-06-14  
受益匪浅,谢谢了。

相关推荐

    ssh2中的urlrewrite和Struts2的生成静态页面

    - **使用自定义Result Type**:定义好自定义的Freemarker Result Type后,还需要在Struts配置文件中声明该结果类型,并在Action中指定使用。 ```xml &lt;!-- struts.xml --&gt; &lt;constant name="struts.custom.i18n....

    Struts的文件下载

    总结来说,Struts的文件下载功能依赖于自定义Action类、HTTP响应头的设置以及Struts配置文件中的映射规则。通过理解这些核心概念,开发者可以轻松地实现在Java Web应用中提供安全、高效的文件下载服务。

    Struts2静态页面生成

    1. **配置Struts2**:首先,需要在Struts2的配置文件中(通常为struts.xml)添加相关的配置,声明FreeMarker作为视图解析器,并指定FreeMarker的配置文件路径。 2. **创建FreeMarker模板**:在项目资源目录下创建一...

    Struts2属性文件详解

    指定了Struts 2应用加载的用户自定义属性文件,自定义属性文件中的设置不会覆盖`struts.properties`文件中的配置。如果需要加载多个自定义属性文件,可以使用英文逗号`,`分隔文件名。 #### struts.mapper.class 该...

    从JSTL和STRUTS的TLD文件到自定义EL函数

    自定义函数需要实现特定的接口或者继承特定的类,并在TLD文件中进行声明。例如,若要创建一个名为`myFunction`的自定义函数,可以按照以下步骤操作: 1. **编写实现类**:创建一个类实现`javax.el.FunctionMapper`...

    struts2配置静态资源代码详解

    在Struts2中,配置静态资源是为了确保像CSS、JavaScript、图片等非Action处理的资源能够正常被浏览器访问。这些资源通常不涉及业务逻辑,而是用于页面展示和交互。配置静态资源对于优化应用性能和提升用户体验至关...

    传智播客struts2.1源代码_自定义类型转换器

    - **配置文件**:在struts.xml或类似的配置文件中,使用`&lt;conversion&gt;`标签定义转换规则,包括转换器类和匹配的类型。 5. **示例与实践** 创建一个自定义类型转换器,比如转换一个自定义的枚举类型。首先创建一个...

    Struts 2 properties文件详解

    **描述**: 该属性允许用户自定义额外的属性文件,这些文件中的属性不会覆盖`struts.properties`中的属性。多个自定义属性文件可以通过逗号分隔列出。 **示例代码**: ```properties struts.custom.properties=myapp...

    struts2+freemarker 生成静态页面

    这个Result类型会在Action处理完请求后,将生成的FreeMarker模板内容写入到一个静态HTML文件中。同时,需要设置适当的缓存策略,例如根据内容更新时间或用户权限来决定何时重新生成静态页面。 5. **配置和优化**:...

    struts中文乱码问题解决详细步骤

    3. **配置Struts2**:在Struts2的配置文件`struts-default.xml`或自定义的配置文件中,设置全局结果类型`stream`的编码: ```xml &lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt; ``` **方法二:配置...

    struts2配置文件详细说明

    Struts2的配置通常存储在一个名为`struts.xml`的XML文件中。这个文件遵循特定的DTD(文档类型定义),如`struts-2.0.dtd`,确保其结构的正确性。 2. **常量配置**: `&lt;constant&gt;`元素用于定义配置文件中的全局...

    struts2 为应用指定多个配置文件.rar

    因此,将配置分散到多个文件中可以提高代码的可读性和可维护性。 1. **多配置文件的引入**:要使用多个配置文件,你需要在`struts.xml`(或你自定义的主配置文件)中通过`&lt;include&gt;`标签导入其他配置文件。例如: ...

    struts.properties详解

    通过以上对`struts.properties`文件中各关键配置项的解析,我们可以看出这些配置项对于定制和优化Struts2应用有着至关重要的作用。开发者可以根据实际需求调整这些配置项,以实现更加高效和安全的应用程序。

    struts2 跳转至404 页面的解决方案

    检查`struts-default.xml`或自定义的配置文件,确认404错误是否被正确地映射到了一个自定义的错误页面。 8. **IDE或服务器设置**:有时候,开发环境或服务器的配置也可能导致404错误,例如Tomcat的Context配置、...

    struts2 +jquey uploadify3.2 实现多文件上传,可预览、删除、排序

    需要在Struts配置文件中配置对应的Action以处理Uploadify的请求。 7. **前端代码**:使用jQuery和Uploadify的JavaScript代码来初始化和控制上传过程,包括事件监听、回调函数等。 8. **后端处理**:在Java代码中,...

    struts2属性文件中的有效的struts2属性KEY和带占位符的资源文件[参考].pdf

    Struts2是一个流行的...这些属性可以放在`struts.properties`文件中,或者通过其他自定义属性文件加载,以定制Struts2的行为,适应不同的项目需求。理解和正确配置这些属性对于优化Struts2应用的性能和功能至关重要。

    struts.properties文件详解

    Struts.properties 文件是 Struts2 框架的核心配置文件之一,它定义了...以上就是 Struts.properties 文件中主要属性的详细说明,理解并适当地配置这些属性可以有效地调整 Struts2 框架的行为,以满足特定项目的需求。

    Struts2的常量详解

    struts.custom.properties 属性指定 Struts 2 应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖 struts.properties 文件中指定的属性。 12. struts.mapper.class struts.mapper.class 属性指定...

    Struts2配置文件详解

    - **示例**: 假设创建了一个名为`CustomConfiguration`的自定义类来管理配置文件,可以在配置文件中设置`struts.configuration=CustomConfiguration`。 **2. struts.locale** - **功能**: 设置Web应用的默认语言...

    struts.properties配置详解

    `struts.properties`文件通常位于项目的`WEB-INF/classes`目录下,这样可以确保它被包含在类路径(CLASSPATH)中,以便Struts2能够正确加载并解析其中的配置信息。 ### 核心配置项详解 #### struts.action....

Global site tag (gtag.js) - Google Analytics