今天在学习访问国际化消息时,需要将提供中文的资源文件转化为国际化资源文件,比如中文资源文件jubu.properties转化为国际化资源文件jubu_zh_CN.properties,书上仅说了一句用,使用native2ascii处理(忍不住吐槽,我压根就不知道这是什么鬼,更别提怎么转换。)而且网上查了一天,很是郁闷,因此。在这里说一下。

一:修改编码方式

首先,可能有部分人,遇到新建的xxx.properties文件无法写入中文属性:

比如我们在jubu.properties 中写入

loginPage=登录界面   他会显示:loginPage=\u767b\u5f55\u754c\u9762

解决方案:

这是因为eclipse的.properties文件,默认的编码方式是iso-8859-1.所以中文显示有问题。按照下面的方式,把Default Encoding修改成UTF-8就可以了。

二:native2ascii工具处理.properties文件

然后我们开始转换.properties文件.

我们的jubu.properties内容如下

loginPage=登录界面
username=用户名

首先我们确定我们的.properties文件所在位置:

F:\JavaEE\workspace\OGNLDemo1\WebContent\WEB-INF\src

然后打开cmd以管理员身份运行,找到相应的src文件夹下:

然后输入

这样就可以将我们提供的中文资源文件转换为国际化资源文件(编码方式为UTF-8)并且命名为jubu_zh_CN.properties.

这里说一下:

native2ascii的命令行的命名格式:
native2ascii -[options] [inputfile [outputfile]]
说明:
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。

再看我们的src文件夹下,文件已经生成:

三:然后通过struts.xml配置文件加载国际化文件:

   <constant name="struts.custom.i18n.resources" value="jubu"></constant>

value指定国际化文件的baseName。

四:Struts2访问国际化资源文件的三种方式:

表单通过<s:text name=""/>访问全局化文件,name对应文件中的key。

Action中可以通过ActionSupport的getText()方法,方法接受一个name属性,对应国际化文件的key。

Label标签 可以指定key属性 对应文件的key属性。

然后我们通过表单的<s:text name=""/>访问全局化文件:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="loginPage"></s:text></title>
</head>
<body><s:fielderror/><h2>局部类型转换器</h2><s:form action="jubuLogin"><s:text name="username"/><s:textfield name="user"/><s:submit value="转换"></s:submit></s:form>
</body>
</html>

上面标题,输入框提示访问了国际化资源。

五:运行结果:

我们可以看出,标题,输入框提醒已经转化为国际化资源的提示信息。

Java中使用native2ascii工具处理.properties文件相关推荐

  1. java properties native2ascii_Java中使用native2ascii命令处理.properties文件

    姓名:牛康 学号:17101223416 [嵌牛导读]:在Struts 2框架中经常会用到国际化资源对Struts应用的各页面提供国际化支持,必须用到native2ascii命令来处理该文件. [嵌牛 ...

  2. java curl get_如何从Java中的curl get请求获取文件?

    我正在尝试使用API​​下载一些XBRL文件.为了做到这一点,我需要做一个卷曲的请求,就像这样:如何从Java中的curl get请求获取文件? curl -XGET http://distribut ...

  3. 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)

    文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...

  4. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  5. Java中使用ItextPdf工具根据PDF合同模板填充pdf

    Java中使用itextPdf工具根据PDF合同模板填充内容 设置PDF合同模板的文本域 导入itextPdf的pom依赖 编写生成填充pdf代码 1:设置PDF合同模板的文本域 ​ 设置PDF文本域 ...

  6. Java 中调用 Apache API 实现图片文件的 压缩 与 解压 实例

    < Java 中调用 Apache API 实现图片文件的 压缩 与 解压 > 为什么不直接使用 Java JDK 中自带的 API 呢?必须使用 Apache API 实现文件的压缩与解 ...

  7. java ftp ftpclient_详解JAVA中使用FTPClient工具类上传下载

    详解JAVA中使用FTPClient工具类上传下载 在Java程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件.本文简单介绍如何利用jakarta commons中的FTPClie ...

  8. spring配置文件中分别使用多个properties文件

    spring配置文件中分别使用多个properties文件 在使用spring时,有时候需要为了模块配置方便有时候需要针对不同的模块建立不同的applicationContext的配置文件,然后在对应 ...

  9. java利用apache pdfbox工具裁剪PDF文件

    java利用apache pdfbox工具裁剪PDF文件 一.导入apache pdfbox工具jar包 maven仓库导入工具包 <dependency><groupId>o ...

  10. java如何解压rar文件怎么打开_如何在java中实现对zip和rar文件的解压

    如何在java中实现对zip和rar文件的解压 关注:101  答案:1  mip版 解决时间 2021-01-26 10:50 提问者芣①樣哋羙莮 2021-01-25 22:44 如何在java中 ...

最新文章

  1. Qt 4.3 公布揭晓
  2. asp.net 利用多表联合查询进行汇总统计
  3. Android进阶知识:ANR的定位与解决
  4. iOS之页面布局-踩坑的原由
  5. matlab拔河比赛_拔河比赛
  6. 腾讯视频真实下载地址_腾讯视频如何多倍速播放视频
  7. 学生群体中奖励制度的马太效应
  8. 【C++11】新特性——auto的使用
  9. LeetCode-Sum Root to Leaf Numbers
  10. Alex 的 Hadoop 菜鸟教程: 第22课 分布式日志收集组件:flume
  11. JavaScript是什么?看着一篇就够了
  12. 区块链--大白话说明
  13. gulp minify-css 压缩之后删除calc所在行解决
  14. 【计网】DNS解析 DDNS解决动态公网IP访问
  15. 用css给video视频标签上添加渐变效果
  16. 【Python黑科技】获取每日一句美句,并定时发送邮件到指定邮箱(保姆级图文+实现代码)
  17. robbin到此一游
  18. Linux 内核0.11 系统调用详解(下)
  19. 全志携手科大讯飞 战略升级智能车联领域多赢合作
  20. 电子学会2023年3月青少年软件编程(图形化)等级考试试卷(四级)真题,含答案解析

热门文章

  1. MATLAB代码:基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究
  2. 设计模式7------装饰者模式(Decorator Pattern)-------结构模式
  3. SONY图像传感器列表
  4. 高斯09linux教程,Gaussian 09的安装与使用
  5. 戴口罩人脸数据集和戴口罩人脸生成方法
  6. c语言中如何进行开方和求一个数的几次方;
  7. pdfjs转图片_PDF转图片,在线PDF转JPG/PNG
  8. 机器学习【系列】之第六章随机森林模型
  9. linux打印机无法识别usb,ubuntu下无法识别打印机,求教!
  10. 基于C51控制蜂鸣器