1,struts默认根据http request请求流中的键值(Accept-Language en-US,zh-CN;q=0.5)设定locale值。
参见 xwork2 中ActionContext 的处理。com.opensymphony.xwork2.ActionContext.getContext(),150th line。
struts中多语言处理中,取不同语言的文本内容时,语言版本获取是从ActionContext.getContext().getLocale()中取得。ActionContext中locale设置在com.opensymphony.xwork2.interceptor.I18nInterceptor拦截器中进行,该拦截器默认是激活状态。
2, struts2,spring 国际化:
首先通过xwork2 I18nInterceptor设置locale。在http request的parameter中加入request_locale参数。或者在request.getSession()中加入属性为I18nInterceptor.DEFAULT_SESSION_ATTRIBUT的Locale对象。
1. spring中messageSource在java中对多语言的处理:
在使用ActionContext.getContext().getLocale()前设置好ActionContext中的Locale。
在vseaf acegi的验证中,会清空session,所以VSAuthenticationProcessingFilter.attemptAuthentication中加入session对locale的保存处理。
// 为xwork2 ActionContext设置语言区域,actionContext会在I18nInterceptor拦截请求时重新设置语言区域
// spring messageResource 的ResourceBundleMessageSource getMessage方法将从xwork2 ActionContext中取得语言区域
request.getSession().setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale); //它影响到I18nInterceptor里的语言区域设置
2. jsp,spring:message tag:
spring:message tag获取多语言文本信息前,RequestContext initContext会设置locale,之后,tag使用RequestContext提供的locale。
在请求转给jsp之前,在VSEAFAction中,给httpRequest和httpSession设置RequestContext所需要的locale参数。
HttpRequest发生跳转后,原有的属性都会消失,而HttpSession内容会保留。struts接受到URL包含.actin的请求后,根据struts配置文件找到对应的action类,并执行该类,然后跳转到指定的页面上。
分享到:
相关推荐
### STRUTS开发笔记 #### 一、基本配置 **1.1 基本配置** 在进行STRUTS框架的开发之前,首先需要完成基本的环境搭建工作,包括: 1. **添加STRUTS JAR包:** 将STRUTS框架所需的全部JAR包放入项目的`WEB-INF/lib...
通过学习这些笔记,开发者将能够理解Struts2的工作原理,并具备使用Struts2开发Web应用的基础能力。同时,对于进一步学习Spring MVC或其他MVC框架也会有所帮助,因为很多设计思想和技术原理都是相通的。
- **优势**:使用 Struts2 可以显著提高开发效率,因为它能够处理很多基础任务,如数据接收、类型转换、验证等。 **1.2 Struts2 架构** - **MVC 架构**:Struts2 采用经典的 MVC 架构,分为模型(Model)、视图(View)...
Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...
本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...
Struts2是一个强大的Java web应用程序开发框架,它解决了Struts1中存在的诸多问题,提供了更为灵活和可扩展的架构。在理解Struts2之前,我们首先需要回顾一下Web开发的两种经典模式:Model1和Model2。 Model1模式是...
**Struts2** 是一款流行的 Java Web 开发框架,它遵循 MVC (Model-View-Controller) 设计模式,旨在简化 Web 应用程序的开发过程。Struts2 提供了一种统一的方法来构建 Web 应用程序,并且具有良好的扩展性和灵活性...
Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...
综上所述,Struts2通过其强大的配置机制和灵活的结果类型,为开发者提供了一个高效、易用的开发平台。遵循“约定优于配置”的原则,可以显著减少不必要的配置工作,使开发者更加专注于业务逻辑的实现。
创建一个Struts2工程通常涉及在集成开发环境中(如MyEclipse)创建一个新的Web项目,然后将必要的Struts2库添加到项目的`lib`目录,并配置`web.xml`以启用Struts2 Filter。 2. **Action的属性接收参数** 在Struts...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,提供了丰富的功能和灵活性。下面将详细讲解Struts2的一些核心知识点。 **一.Struts2核心文件:struts.xml配置** Struts2的...
Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种简化的方式,帮助开发者处理HTTP请求并将其映射到特定的业务逻辑...
总结来说,Struts2通过提供一个结构化的框架,简化了Java Web应用程序的开发,包括通过配置文件管理动作和视图,使用命名空间组织URL,以及通过Action实现业务逻辑。理解这些核心概念对于有效地利用Struts2框架至关...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...