- 浏览: 89567 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ssy341:
说的简单了点,和官网的文档差不多,多文件上传也不是很好,不过可 ...
jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能 -
蓝凝幽偌:
有没有jar包?
org.apache.commons.net.ftp.FTPClient 的简单用法 -
tinguo002:
在这里缓缓走过,很为楼主钻研精神感动,也感谢楼主分享。
关于Struts2资源文件的配置
转载自:http://blog.csdn.net/Mount_here/archive/2009/02/03/3860700.aspx
最近在玩Struts2时,发现Struts2的资源文件配置的几个有趣的问题,特地跑来给大家分享。
据Struts2的文档,当由action加载页面时资源文件的的搜索顺序为:
ActionClass.properties
Interface.properties (every interface and sub-interface)
BaseClass.properties (all the way to Object.properties)
ModelDriven's model (if implements ModelDriven), for the model object repeat from 1
package.properties (of the directory where class is located and every parent directory all the way to the root directory)
search up the i18n message key hierarchy itself
global resource properties
在了解这些后,我在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.action.extension" value="do" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="practice" extends="struts-default">
<action name="index" class="com.opensymphony.xwork2.ActionSupport">
<result>index.jsp</result>
</action>
</package>
</struts>
并把ActionSupport.properties放在相应包下面。因为所有的<action>若不显示配置class, 默认的class 为ActionSupport,因此我用ActionSupport.properties,应该没问题吧。大家猜怎么着?
不行!
我怎么搞都不成,于是我要把它命名为package.properties,应为根据资源文件的搜索顺序,若找不到相应action的资源文件,应该找包级别的资源文件。结果呢?
还是不行!
于是我又配置了struts.properties文件,指定全局资源:struts.custom.i18n.resources=globalMessages
结果可以了!
难道首页的多语言必须配置在全局资源文件中吗?放在action级别和包级别都不起作用,那该如何是好呢?
我想到的解决办法是,写一个action,如:BaseAction继承ActionSupport,抽象出一些公用的东西来,或干脆为空,
然后让我们的其它action都继承BaseAction,这样的话在struts.xml中如下配置:
<struts>
<constant name="struts.action.extension" value="do" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="practice" extends="struts-default">
<action name="index" class="wbw.practice.actions.BaseAction">
<result>index.jsp</result>
</action>
</package>
</struts>
然后创建BaseAction.properties文件放在相应包下面就可以了;不用BaseAction.proerties,用package.properties也Ok!
据此应用struts2的资源文件应注意以下两点:
1. 只有通过自定义的Action到达的页面,资源文件才起作用。也就是说:
<action name="index" class="com.opensymphony.xwork2.ActionSupport">
<result>index.jsp</result>
</action>
和
<action name="index">
<result>index.jsp</result>
</action>
是一样的,资源文件不会被应用的!
2. struts2文档中的资源文件搜索顺序的第一条:ActionClass.proerpties中的ActionClass必须是自己写的 ActionClass.
最近在玩Struts2时,发现Struts2的资源文件配置的几个有趣的问题,特地跑来给大家分享。
据Struts2的文档,当由action加载页面时资源文件的的搜索顺序为:
ActionClass.properties
Interface.properties (every interface and sub-interface)
BaseClass.properties (all the way to Object.properties)
ModelDriven's model (if implements ModelDriven), for the model object repeat from 1
package.properties (of the directory where class is located and every parent directory all the way to the root directory)
search up the i18n message key hierarchy itself
global resource properties
在了解这些后,我在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.action.extension" value="do" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="practice" extends="struts-default">
<action name="index" class="com.opensymphony.xwork2.ActionSupport">
<result>index.jsp</result>
</action>
</package>
</struts>
并把ActionSupport.properties放在相应包下面。因为所有的<action>若不显示配置class, 默认的class 为ActionSupport,因此我用ActionSupport.properties,应该没问题吧。大家猜怎么着?
不行!
我怎么搞都不成,于是我要把它命名为package.properties,应为根据资源文件的搜索顺序,若找不到相应action的资源文件,应该找包级别的资源文件。结果呢?
还是不行!
于是我又配置了struts.properties文件,指定全局资源:struts.custom.i18n.resources=globalMessages
结果可以了!
难道首页的多语言必须配置在全局资源文件中吗?放在action级别和包级别都不起作用,那该如何是好呢?
我想到的解决办法是,写一个action,如:BaseAction继承ActionSupport,抽象出一些公用的东西来,或干脆为空,
然后让我们的其它action都继承BaseAction,这样的话在struts.xml中如下配置:
<struts>
<constant name="struts.action.extension" value="do" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="practice" extends="struts-default">
<action name="index" class="wbw.practice.actions.BaseAction">
<result>index.jsp</result>
</action>
</package>
</struts>
然后创建BaseAction.properties文件放在相应包下面就可以了;不用BaseAction.proerties,用package.properties也Ok!
据此应用struts2的资源文件应注意以下两点:
1. 只有通过自定义的Action到达的页面,资源文件才起作用。也就是说:
<action name="index" class="com.opensymphony.xwork2.ActionSupport">
<result>index.jsp</result>
</action>
和
<action name="index">
<result>index.jsp</result>
</action>
是一样的,资源文件不会被应用的!
2. struts2文档中的资源文件搜索顺序的第一条:ActionClass.proerpties中的ActionClass必须是自己写的 ActionClass.
发表评论
-
java编程思想final的理解
2015-03-06 13:38 382根据上下文环境,java的关键字final也存在着细微的区别, ... -
PDF2SWF中文字符集解决方案
2014-02-26 15:12 829转自:http://www.cnblogs.com/liver ... -
Runtime.getRuntime().exec() 输出流阻塞的解决方法
2014-02-26 09:40 1880转自:http://blog.csdn.net/xiaoani ... -
笔记(不用老搜索了)
2013-07-17 16:16 0下面代码则执行了subgo()函数, <a href ... -
利用LinkedBlockingQueue实现生产者-消费者模式
2013-06-05 16:09 718由于LinkedBlockingQueue 实现是线程安全的, ... -
加密123
2013-05-08 22:35 865/** * 加密传输时的密码 * @author weirhp ... -
jsoup解析
2013-04-28 15:31 715http://www.ibm.com/developerwor ... -
java线程管理利器:java.util.current的用法举例
2012-12-05 15:42 1009DK5中增加了Doug Lea的并发库,这一引进给java线程 ... -
Tomcat - 解决which must be escaped when used within the value错误
2012-11-19 15:17 657http://www.cnblogs.com/javadu/a ... -
Java POI Word 写文档
2012-11-09 09:19 8761 package apache.poi; 2 3 ... -
使用COS组件实现文件上传
2012-06-15 11:25 1519转自:http://blog.csdn.net/jadyer/ ... -
Java Annotation(1)
2011-06-19 09:48 665作者:曾巧(numenzq) 摘要 Annotation( ... -
关于request得到路径的几种方法
2011-06-08 15:43 944request.getRequestURI() /jque ... -
JAVA EXCEL API 简介
2011-04-18 16:32 722转自:http://www.ibm.com/dev ... -
Hibernate 多对多双向关联
2011-03-21 11:09 620Hibernate 多对多双向关联 一、模型介绍 多个 ... -
Hibernate 一对多连接表双向关联
2011-03-21 11:09 767Hibernate 一对多连接表双向关联 一、模型介绍 ... -
Hibernate 一对多外键双向关联
2011-03-21 11:08 817Hibernate 一对多外键双向关联 一、模型介绍 ... -
Hibernate 一对一主键双向关联
2011-03-21 11:07 757Hibernate 一对一主键双向关联 一对一主键映射在一 ... -
Hibernate 一对一外键双向关联
2011-03-21 11:07 648Hibernate 一对一外键双向关联 一对一外键关联是一 ... -
Hibernate 多对多单向关联
2011-03-21 11:06 642Hibernate 多对多单向关联 一、模型介绍 多个人( ...
相关推荐
### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...
3. 避免在Action中硬编码视图路径,推荐使用常量或资源文件。 4. 合理配置拦截器,确保性能和安全性。 **六、web目录结构** 在Web应用中,`WEB-INF`目录下通常包含`struts.xml`等配置文件。部署时,服务器会根据`...
- `<message-resources>`: 国际化资源文件配置。 - `<plug-in>`: 插件配置。 ##### 2. 关键配置项 - **`<form-bean>`**: - 定义表单Bean的属性和验证规则。 - **`<action-mapping>`**: - 映射Action的执行逻辑...
在Struts2的配置文件(struts.xml)中添加相应的配置。 3. **设置Content-Type和Content-Disposition**: - 在Action类中,使用`ValueStack`或`ActionContext`来设置HTTP响应的`Content-Type`和`Content-...
10. **国际化支持**:Struts2支持多语言,可以通过配置资源文件来实现。在`struts.properties`或`struts.xml`中指定资源文件的路径。 以上就是关于Struts2配置文件的详细讲解,包括核心配置文件`struts.xml`的使用...
在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件之间的交互逻辑以及各种资源的映射关系。 #### 二、Struts2配置文件详解 **配置文件格式:** Struts2配置文件通常以`struts.xml`命名,采用...
本资源包含Struts2的核心jar包和相关的配置文件,对于学习和开发基于Struts2的应用来说是非常宝贵的。 首先,我们来了解一下Struts2的核心jar包。这些jar文件通常包括以下组件: 1. **struts2-core.jar**:这是...
#### 三、Struts2资源文件的配置 在`struts.xml`配置文件中,可以指定使用的资源文件名称: ```xml <constant name="struts.custom.i18n.resources" value="baseName"/> ``` 或者在`struts.properties`文件中进行...
指定了Struts 2应用所需的国际化资源文件,如果有多个国际化资源文件,多个文件名间以英文逗号`,`分隔。 #### struts.diSPAtcher.parametersWorkaround 针对某些Java EE服务器不支持`HttpServletRequest`调用`...
### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...
在深入了解Struts2的配置细节之前,我们先来简要概述一下Struts2框架的核心特点及其配置文件的基本结构。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用开发框架。它通过一系列的配置文件来...
在深入探讨《关于struts2的一些配置》这篇文章之前,我们首先需要理解Struts2框架的基本概念及其在Java Web开发中的重要性。Struts2是一个基于MVC(Model-View-Controller)模式的开源Web应用框架,它简化了Java Web...
10. **国际化与本地化**: Struts2提供了对多语言的支持,可以通过资源文件轻松实现界面的国际化。 使用Struts2核心jar包时,需要正确配置web.xml以启用Struts2框架,并在项目中引入相应的依赖。开发过程中,还需要...
"struts2 为应用指定多个配置文件"的主题意味着我们将探讨如何在Struts2框架中使用多个配置文件来增强灵活性和模块化。 首先,Struts2的默认配置文件是`struts-default.xml`和`struts-plugin.xml`,这两个文件位于`...
**资源文件配置** - **MessageResources**:Struts2中用于管理国际化消息的接口。 - **MessageResourcesFactory**:负责创建MessageResources实例的工厂类。 - 默认情况下,Struts2使用`org.apache.struts.util....
Struts2是一个强大的MVC框架,它通过XML配置文件struts.xml进行系统配置。这个配置文件是Struts2的核心,负责定义Action、拦截器、结果页面等关键元素,以实现请求与业务逻辑的映射。下面我们将深入探讨struts.xml的...
我们可以创建资源文件,如`message.properties`和`message_zh_CN.properties`,然后在Action中使用`getText`方法获取对应的语言消息。 最后,Struts2的插件系统非常强大,例如JSON插件可以让我们轻松地将Action结果...
《Struts2配置文件宝典》一文详细阐述了Struts2框架中配置文件的核心概念与实践技巧,尤其聚焦于如何高效地管理拦截器、包(package)以及Action的配置,为开发者提供了一套全面而深入的理解框架配置的指南。...
2. **配置struts.xml**:在Struts2的配置文件中,我们需要为这个Action添加相应的配置,指定返回的`StreamingResult`结果类型和对应的视图。 ```xml <param name="contentType">application/octet-stream ...