Jfinal国际化

简介: Jfinal国际化

项目

拉取代码:https://gitee.com/QinHaiSenLin/Jfinal-layui.git

配置步骤:

1. 新建数据库jfinal-layui,执行doc目录下的jfinal-layui.sql
2. 修改resources下面的config-dev.txt配置文件,修改数据库配置
3. 运行com.qinhailin.common.config.ManiConfig的main方法
4. 访问地址:http://localhost;登录账号:admin/123456

80被占用的化需要修改端口

启动效果

国际化

代码修改如下

1.MainConfig 类

方法:configConstant(首次启动项目的语言,即默认语言)

    me.setI18nDefaultBaseName("i18n_en_US");//设置i18n的默认名字,该名字关系到是否正确取到配置文件
      me.setI18nDefaultLocale("en_US");// 设置默认的语言,默认语言只针对第一次登录使用,
    me.setI18nDefaultBaseName("i18n_zh_CN");//设置i18n的默认名字,该名字关系到是否正确取到配置文件
    me.setI18nDefaultLocale("zh_CN");// 设置默认的语言,默认语言只针对第一次登录使用,

方法:configRoute (路由)

me.add("/i18n", I18nController.class);

方法:configInterceptor(全局拦截器)

me.addGlobalActionInterceptor(new I18nInterceptor());

测试类

package com.qinhailin.common.config;

import org.junit.Test;

import java.util.Locale;
import java.util.ResourceBundle;

public class I18nTest {
    @Test
    public void testLocale(){
        // 获取你系统默认的语言。国家信息
        // Locale locale = Locale.getDefault();
        // System.out.println(locale);
        // for (Locale availableLocale : Locale.getAvailableLocales()) {
        // System.out.println(availableLocale);
        // }
        // 获取中文,中文的常量的 Locale 对象
        System.out.println(Locale.CHINA);
        // 获取英文,美国的常量的 Locale 对象
        System.out.println(Locale.US);
    }

    @Test
    public void testI18n(){
        // 得到我们需要的 Locale 对象
        Locale locale = Locale.US;
        // 通过指定的 basename 和 Locale 对象,读取 相应的配置文件
        ResourceBundle bundle = ResourceBundle.getBundle("i18n", locale);
        System.out.println("username:" + bundle.getString("username"));
        System.out.println("password:" + bundle.getString("password"));
        System.out.println("Sex:" + bundle.getString("sex"));
        System.out.println("age:" + bundle.getString("age"));
    }
}

controller

package com.qinhailin.i18n;

import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.i18n.I18nInterceptor;


public class I18nController extends Controller {
    public void index(){
        render("/i18n.html");
    }
}

配置文件 i18n_en_US.properties

msg=Hello {0}, today is{1}
username=username
password=password
sex=sex
age=age
regist=regist
boy=boy
email=email
girl=girl
reset=reset
submit=submit

配置文件:i18n_en_US.properties

msg=你好{0}, 今天是{1}
username=用户名
password=密码
sex=性别
age=年龄
regist=注册
boy=男
girl=女
email=邮箱
reset=重置
submit=提交

html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
i18n....<br>
你好啊<br>
name : #(_res.get("msg"))
</body>
</html>

效果,汉字没有转UTF8 略微有些乱码

目录
相关文章
|
3月前
|
前端开发 JavaScript UED
JFinal框架中防止表单重复提交的方法
每种方法都有其优势和局限性。Token机制能提供较为稳定可靠的保护,但增加了服务器端的处理负担。锁定机制在处理并发请求时更有效,但可能导致用户体验的下降。JavaScript客户端控制提供了良好的用户体验,但依赖于客户端的执行环境。在实际应用中,可以根据具体的场景和需求,选择最适合的方法,或者将多种方法组合使用,以达到最佳的效果。
43 10
|
JavaScript 前端开发 Java
JFinal框架单文件、多文件上传详解
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/79386540 简介  ...
2792 0
|
Java PHP Spring
从今天开始,要入jfinal的坑了,试试这破框架好不好用。
公司要用jfinal,所以我要入坑了。 听说时去年很火的java框架,不知好不好,试试水吧。 看官网就想吐槽 看个文档吧,还要注册。。。现在是2017年吗?? 好吧,注册完了,接着就。
2023 0
|
Java 调度 Maven
JFinal框架_定时触发程序
JFinal框架进行作业调度,使用JFinal-ext2与quartzf进行配置。 maven说明: com.jfinal jfinal 3.2 com.jfinal jfinal-ext2 2.
1710 0
|
Java 数据格式 XML
jfinal框架文件下载功能代码
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/72779838 一. 前言   上一篇博客我们了解了struts2框架的文件下载功能代码,我们可以从中总结到,struts2主要是通过其xml的配置来处理文件下载的,也就是将普通io流文件下载的页面响应方式的这部分代码分离出来,使用xml配置来处理,这也是struts2的特性。
1760 0
|
Java
基于Java的JFinal框架快速上手
http://finalshares.com/read-737
1179 0
|
Oracle 关系型数据库 Java
jfinal框架教程-学习笔记(二)
上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1、建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLASSES ( classesid NUMB...
1314 0
|
XML Java 数据格式
快速的搭建JFinal的ORM框架示例
  分类: Java2013-12-11 20:55 11075人阅读 评论(12) 收藏 举报 刚把Spring MVC搭建完毕,在群里一个人问如何搭建JFinal + Httl,我就先打架了一个JFinal环境。
1182 0