An interceptor that handles setting the locale specified in a session as the locale for the current action request. In addition, this interceptor will look for a specific HTTP request parameter and set the locale to whatever value is provided. This means that this interceptor can be used to allow for your application to dynamically change the locale for the user's session. This is very useful for applications that require multi-lingual support and want the user to be able to set his or her language preference at any point. The locale parameter is removed during the execution of this interceptor, ensuring that properties aren't set on an action (such as request_locale) that have no typical corresponding setter in your action.
For example, using the default parameter name, a request to foo.action?request_locale=en_US, then the locale for US English is saved in the user's session and will be used for all future requests.
Interceptor parameters:
- parameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to and save in the session. By default this isrequest_locale
- attributeName (optional) - the name of the session key to store the selected locale. By default this is WW_TRANS_I18N_LOCALE
Extending the interceptor:
There are no known extensions points for this interceptor.
Example code:
<action name="someAction" class="com.examples.SomeAction">
<interceptor-ref name="i18n"/>
<interceptor-ref name="basicStack"/>
<result name="success">good_result.ftl</result>
</action>
该拦截器的作用是让用户可以动态的改变locale
请求的时候加 request_locale=zh_CN
而且存在session里
相关推荐
当`I18nInterceptor`工作时,它会将`Locale`对象放入ActionContext,这样在视图层就可以方便地访问到本地化的消息。 **六、JSP页面中的国际化** 在JSP页面中,我们可以使用EL表达式或者Struts2的OGNL来获取和显示...
`i18nInterceptor`是专门用于处理I18N的拦截器,它会自动从请求中获取用户的locale信息,并加载相应的资源文件。 3. **在Action类中使用资源键**:在业务逻辑中,我们不再直接硬编码文本,而是使用资源键(resource...
开发者可以为不同的地区创建对应的资源文件,然后通过拦截器(如`I18nInterceptor`)来实现动态地切换语言环境,提供多语言的支持。 总的来说,Struts2框架提供了一个全面、灵活的解决方案,涵盖了Web应用开发的...
- I18NInterceptor:解释Struts2中用于处理国际化的拦截器的作用。 - 实现过程讲解:通过实例演示如何在Struts2项目中实现多语言支持。 - 资源文件优先级:讨论不同资源文件之间的优先级关系及其影响。 - **其他...
在I18n示例中,可能会使用`I18nInterceptor`,它负责设置用户首选的语言环境,确保显示正确的语言版本。 4. **JSP页面**:登录页面通常是一个JSP文件,比如`login.jsp`。在这个页面上,我们可以使用EL(Expression ...
为了根据用户的浏览器设置动态切换语言,我们需要在Struts配置文件(struts.xml)中定义一个拦截器,比如`i18nInterceptor`,它可以捕获请求中的`Accept-Language`头,并设置相应的`Locale`。然后将这个拦截器添加到...
Struts2中,I18nInterceptor是一个关键组件,它负责处理与`Locale`相关的信息。在Action执行之前,这个拦截器会检查`Locale`并找到相应的国际化资源文件。默认情况下,Struts2提供了一些基础的国际化资源文件,如...
Struts2的`I18nInterceptor`拦截器在Action执行之前检查`Locale`信息,找到对应的资源文件,从而显示正确的翻译。 **5.2 使用Struts2国际化** 在Struts2中实现国际化主要包括以下几个步骤: 1. **编写和配置国际...
- 配置Struts拦截器,添加Spring的ModelDriven和I18nInterceptor等。 3. **配置Hibernate** - 在Spring配置文件中配置SessionFactory,并注入DataSource。 - 配置Hibernate的CGLIB或AspectJ代理,用于AOP事务...
接着,我们要在Struts2的配置文件(struts.xml或struts.properties)中声明一个拦截器,如`i18nInterceptor`,它负责处理用户的语言选择。拦截器会根据用户的浏览器设置或手动指定的参数来决定加载哪个语言的资源...
I18nInterceptor,用于国际化;LoggerInterceptor,用于记录日志等。开发者还可以自定义拦截器,实现特定的业务需求。 六、异常处理 Struts2.5提供了强大的异常处理机制,通过和标签可以配置全局或特定Action的异常...
6. `I18nInterceptor`: 提供多语言支持,从请求中查找并设置用户首选的语言环境,以便显示相应的本地化信息。 7. `ActionInvocationInterceptor`: 这是Struts2框架内部使用的拦截器,用于实际调用Action的execute...
国际化是现代Web应用的标配功能之一,本章节介绍了国际化的基本概念、I18n与Res资源管理以及I18nInterceptor的使用。 第十二章 JFinal架构及扩展 JFinal框架的整体架构和扩展机制在本章节中得到了介绍,涵盖了...
- **I18nInterceptor**:实现国际化。 - **LoggingInterceptor**:日志记录。 - **ModelDrivenInterceptor**:如果Action实现了ModelDriven接口,将模型数据放入Value Stack。 - **ScopedModelDrivenInterceptor**:...
12. **I18nInterceptor** - 国际化拦截器:提供多语言支持,根据用户的选择加载相应的资源包。 13. **LoggingInterceptor** - 日志拦截器:记录Action的执行信息,便于分析和监控。 14. **ModelDrivenInterceptor*...
核心Jar包包含了一系列预定义的拦截器,如`com.opensymphony.xwork2.interceptor.I18nInterceptor`用于国际化处理,`com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil`用于前缀方法调用。...
例如,`com.opensymphony.xwork2.interceptor.I18nInterceptor`用于国际化处理,`com.opensymphony.xwork2.interceptor.ValidationInterceptor`进行数据验证。 5. **OGNL(Object-Graph Navigation Language)**:...
国际化章节则向开发者展示了如何为JFinal应用添加多语言支持,包括资源文件的处理、I18nInterceptor的配置等。 FreeMarker基础章节介绍了JFinal对FreeMarker模板引擎的集成和使用,包括FreeMarker的基本概念、示例...
- **拦截器**:`I18nInterceptor`是一个重要的拦截器,用于设置客户端的locale,并支持动态语言切换。 - **资源文件加载**:可以使用`ResourceBundle`来加载特定语言环境的资源文件。 - **示例代码**: ```java ...