`
sanry
  • 浏览: 37651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

现有web系统替换成Spring Boot2框架 之14 I18n国际化实现

阅读更多

此步骤是修改自己代码没有公共性

16.1 国际化文件处理

将原来的国际化文件重命名如下,放到/src/resources目录下

16.2 初始化国际化类

最终需要使用MessageSource 实现国际化。将国际化类的加载放到启动加载项中InitializedThreadPool.java 启动系统时将国际化类初始化方便后续使用。

@Autowired

private MessageSource messageSource;

//中英文转换类

I18nBean.getInstance().setMessageSource(messageSource);

16.修改国际化类

1. 增加MessageSource 属性初始化时注入

2. getString()方法改成使用MessageSource 获取值

private static MessageSource messageSource;

 

private I18nBean(){}

 

private static I18nBean i18nBean = null;

 

private static ResourceBundle resourcesBundle_ch = null;

 

private static ResourceBundle resourcesBundle_en = null;

public static I18nBean getInstance(){

 

if(i18nBean == null){

i18nBean = new I18nBean();

}

 

return i18nBean;

}

 

 public static void setMessageSource(MessageSource ms) {

messageSource = ms;

}

 

public static String getI18NStringByKey(String key, HttpServletRequest request) {

 return messageSource.getMessage(key, null, getLocale());

    }

 

 /**

  * 供页面中英文转换使用

  * @param request

  * @return

  */

 public static ResourceBundle getResourceBundle(HttpServletRequest request) {

 public static MessageSource getMessageSource() {

return messageSource;

 }

 public static Locale getLocale() {

return LocaleContextHolder.getLocale();

 }

 public static String getString(String code) {

 return messageSource.getMessage(code, null, getLocale());

 }

16.4 统一修改jsp国际化使用的方法

taglibs.jsp修改:

<%

I18nBean rb = I18nBean.getInstance();

%>

 

以上步骤完成之后jsp页面通过rb.getString();就可以获取国际化数据,就不需要每个jsp页面都修改了

分享到:
评论

相关推荐

    简单的spring boot项目

    【标题】"简单的spring boot项目"是一个基于Java的Web应用程序,使用了流行的Spring Boot框架作为基础。Spring Boot简化了创建独立、生产级别的基于Spring的应用程序的过程,它集成了大量常用的第三方库配置,如数据...

    spring-boot——web笔记

    Spring Boot 是一个基于 Java 的框架,它简化了创建和配置基于 Spring 的应用程序。在这个主题下,我们将探讨 Spring Boot 如何处理静态资源、Thymeleaf 模板引擎的使用,以及如何自定义视图解析器。 1. **处理静态...

    Spring Boot 实践之七 Spring Boot视图技术(Thymeleaf 基本语法/基本使用/使用Thymeleaf完成数据的页面展示/使用Thymeleaf配置国际化页面)

    本章节主要关注Spring Boot如何整合Thymeleaf模板引擎,以及如何利用Thymeleaf进行数据的页面展示和国际化配置。 1. **Spring Boot支持的视图技术** Spring Boot默认集成了几种常见的视图技术,包括但不限于: ...

    SpringBoot-thymeleaf模板集成

    - **国际化**: 使用`#{}`引用i18n资源。 5. **配置Thymeleaf** 在Spring Boot应用中,可以通过`@ConfigurationProperties`来自定义Thymeleaf的配置,例如模板路径、缓存策略、编码方式等。也可以通过自定义`...

    基于SpringBoot+MyBatis+Thymeleaf搭建的社区网站。.zip

    3. **国际化(I18N)**:支持多语言,通过消息资源文件实现页面内容的切换。 4. **条件和循环**:可以使用条件语句(如`th:if`和`th:unless`)和循环结构(如`th:each`)来控制页面元素的渲染。 在“community-master...

    springboot整合thymeleaf,下载即用

    6. **国际化支持**:Thymeleaf可以通过`th:i18n`属性支持多语言,配合Spring Boot的国际化配置,可以轻松实现不同语言的页面内容切换。 7. **Thymeleaf缓存**:Thymeleaf允许开发者配置模板的缓存策略,以提高性能...

    java源码:HTML5模板引擎 Thymeleaf.zip

    Thymeleaf支持多语言环境,可以使用`th:i18n`属性来获取对应的国际化消息。 5. **条件属性和属性值** 除了条件渲染外,Thymeleaf还允许根据表达式的值决定是否设置或改变HTML属性。例如,`${user.isAdmin}"&gt;`会...

    Thymeleaf入门

    此外,Thymeleaf支持国际化(i18n)和集成JavaScript。通过`th:utext`可以安全地插入用户提供的文本,防止XSS攻击。 总之,Thymeleaf提供了一个强大且灵活的模板解决方案,使得在Spring Boot应用中构建动态HTML页面...

    jstl.jar+standard.jar

    `standard.jar`是Apache Tomcat提供的一个库,它包含了JSTL的实现,特别是JSTL的Core、Function、Format和I18N模块,以及JSP EL(Expression Language)的实现。EL是JSP 2.0引入的一种轻量级的表达式语言,用于替换...

    struts-bean:message使用

    4. **国际化(i18n)**:`&lt;message&gt;`标签使得在不修改代码的情况下轻松地更改应用程序的文本,这对于多语言环境非常重要。你可以通过改变`key`来引用不同的消息,而无需改动JSP或Action代码。 5. **上下文和作用域*...

    基于Java的HTML5模板引擎 Thymeleaf.zip

    5. 国际化(i18n): Thymeleaf支持多语言,可以通过`th:text="#{hello.message}"`这样的方式从资源文件中获取对应语言的字符串。 6. 模板布局: 通过定义布局模板和内容片段,Thymeleaf可以实现页面布局的复用。`th:...

    thymeleaf_3.0.5_中英文参考手册.zip

    7. **国际化**:Thymeleaf支持多语言环境,通过`th:i18n`和资源文件,可以轻松实现文本的国际化。 8. **标准和Spring标准方言**:Thymeleaf拥有标准方言和Spring标准方言,后者专为Spring框架设计,提供了与Spring ...

    Thymeleaf 基本用法总结文档

    9. **国际化(i18n)** Thymeleaf能与Spring的MessageSource接口集成,实现多语言支持。通过`th:text="#{message.key}"`来获取对应的语言资源。 10. **条件注解和选择性渲染** Thymeleaf提供`th:switch`和`th:case`...

    百里香测试:测试百里香

    4. **国际化**:Thymeleaf支持多语言环境,通过`th:i18n`属性实现。测试需要覆盖不同语言环境,确保翻译的正确性。 5. **集成Spring**:在Spring Boot应用中,Thymeleaf与Spring MVC无缝集成,可以方便地处理请求...

    Module4-day3-Views-Thymeleaf

    4. **国际化**: Thymeleaf支持多语言环境,通过`th:i18n`等指令,可以方便地切换和显示不同语言的文本。 5. **表单处理**: Thymeleaf提供了丰富的表单处理能力,包括数据绑定、验证错误展示等。`th:field`指令可以...

    thymeleafBase

    7. **国际化(i18n)**:Thymeleaf支持多语言,通过资源文件(如`messages.properties`)来提供不同语言的文本,模板中的`th:text`等指令可以结合EL来动态选择语言版本。 通过学习和实践"thymeleafBase"项目,...

Global site tag (gtag.js) - Google Analytics