JSF的中文化与国际化的简便方法-Java基础-Java-编程开发

MyEclipse 6.5汉化包:使Java开发无障碍 MyEclipse 6.5是知名的Java IDE之一,它提供了丰富的功能和扩展,助力开发者更高效地进行Java、Java EE、Spring、Hibernate等技术栈的开发。然而,对于非英语母语的用户而言,使用英文界面可能会提高学习曲线,这正是汉化包出现的初衷。Java EE(Java Platform, Enterprise Edition),也称作 Jakarta EE,是Sun(现为Oracle)公司开发的一个适用于企业环境的Java平台。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>  对于各种不同的Java应用,国际化的问题总会给我们非英文用户带来一些麻烦,在JSF中也一样,在实践中碰到了一系列不容易解决的问题,最终解决的大部分的问题,也完成了一个可以运行的小项目,我把我的一些经验拿出来和大家分享一下,希望能让大家在这些地方少走一些弯路。

  Java中的国际化是由 java.util.Locale 类支持的,中文对应的代码是“zh”,所以我们要在JSF中使用中文的话,需要在我们的 faces-config.xml 中做一些简单的配置了,加入对中文的支持,当然如果需要支持更多的语言的话,多加几个<supported-locale>就可以了。

<faces-config>
<application>
<message-bundle>resource</message-bundle>
<locale-config>
<default-locale>zh</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
</faces-config>

  这里定义了一个<message-bundle>resource</message-bundle>指的是资源文件所在的位置和文件名,这里我们把资源文件放在source根目录下名称为resource.properties,这个是英文的资源文件,另外一个存放中文信息的资源文件名为resource_zh.properties。

  接下来,我们可以在这些资源文件中加入我们需要的资源信息。推荐大家一个Eclipse的插件来写我们的资源文件,这个插件叫做Eclipse ResourceBundle Editor Plugin,我们可以很方便的在里面写中文信息,它会自动的转换为UTF-8编码的信息,大家可以到这个地方去下载这个插件http://resourcebundleeditor.com/ess/rbe/home.do。使用起来很简单,这里就不再多说了。

  在JSP文件中使用这些资源之前,需要加入一下这些东西:

<%@ page contentType="text/html;charset=utf-8"%>

  在HTML的head中加入:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  下面,我们就可以在我们的页面中绑定并使用这些资源信息:

  使用之前要加载一下资源文件,使用这个Tag:

<f:loadBundle basename="resource" var="messages"/>

 
  我在这里给消息起了个别名messages,以后就可以通过这个别名来使用资源文件。

  比如我使用 <h:outputText> 来引用资源信息schedule.label.starttime可以这么用。

<h:outputText value="#{messages['schedule.label.starttime']}"/>

  是不是可以用了呢?不过别急,用是能用,如果你在 JSF 中使用了 Tiles 的话,就会出现一些问题了,我们如果使用了 <h:inputText> 这样的输入框的话,当你输入中文并提交,你就会发现,你输入的文字变成这样的了“/u5DF2/u5B8C/u6210”,曾经为了这个问题,找解决方案花了我三周的时间。首先把问题定位到 Tiles 上,因为如果不使用 Tiles 的话,是没有这个问题的,但是 Tiles 又不能不用的,最后发现其实很容易的,只要在 <f:view> 中加上 locale=”zh” 就可以了,如果需要的话,可以把这个属性动态化,满足国际化的需要,就像这样<f:view locale="#{userProfile.locale}">。

  这样的话,一切都正常了,使用 Tiles 也没有问题的。

  今天有朋友问了我关于 JavaScript 中的中文乱码问题,我在我的JSP中找了一段代码拿出来看看:

<h:commandLink id="delete" action=".." onclick="if (!confirm('#{messages['system.msg.confirmdel']}')) return false;">

  这样的话,里面的中文是可以正常显示的,下面我给大家一些建议吧,希望对大家有一些帮助。

  1. 所有文字信息全部写在资源文件中,通过引用其别名来使用这些信息;

  2. 所有的中文要转换成 UTF-8 编码,可以使用Eclipse ResourceBundle Editor Plugin来解决;
 
  3. 页面编码方式定义成 UTF-8 ,不要使用其默认值。
 
  当然,这只是我在使用中积累的一点小小的经验了,希望能对大家有一点帮助,如果大家发现有什么不正确就请赐教,如果更好的解决方案,也拿出来和大家分享吧,因为我们的分享可能会给大家节省更多的时间。

MyEclipse 10.0中文汉化包完整资源 MyEclipse 10.0 是一款基于 Eclipse 平台的集成开发环境(IDE),专为 Java EE 开发者设计,集成了丰富的 Web、数据库和企业级开发工具。它降低了企业级 Java 应用开发的门槛,提高了开发效率。然而,其默认界面为英文,对中文用户存在一定障碍。为此,汉化包应运而生,通过替换界面语言资源,使用户在熟悉的语言环境中高效开发。本章将引导读者理解 MyEclipse 10.0 的核心价值与汉化包的实际意义,为后续操作打下认知基础。 阅读详情

相关推荐

毕设别再硬肝了:我用 GPT + Codex 做项目、写论文,效率直接起飞

这个也是神器。你项目做完之后,最怕的是老师一问就懵。这时候你直接把你的项目发给它,让它模拟老师提问。这是我的毕业设计题目和项目简介,请你站在答辩老师角度,提出20个高频问题,并给出简洁好背的回答。要求:问题尽量贴近计算机专业本科毕业答辩。为什么选这个题目?技术选型为什么这样定?你的创新点是什么?系统难点是什么?数据库怎么设计的?你的模型为什么选这个?如果继续优化,下一步怎么做?这个对答辩真的帮助很大。说实话,如果没有 GPT + Codex,

m0_74100417的博客 1849

JSF的中文化与国际化

 对于各种不同的Java应用,国际化的问题总会给我们非英文用户带来一些麻烦,在JSF中也一样,在实践中碰到了一系列不容易解决的问题,最终解决的大部分的问题,也完成了一个可以运行的小项目,我把我的一些经验拿出来和大家分享一下,希望能让大家在这些地方少走一些弯路。         Java中的国际化是由 java.util.Locale 类支持的,中文对应的代码是“zh”,所以我们要在JSF中使用

bjsq的专栏 1112

AS5600磁编码器IIC通信与角度读取实战指南

本文提供了AS5600磁编码器通过IIC通信协议实现高精度角度读取的完整实战指南。详细解析了硬件连接要点、IIC通信时序、Arduino与STM32平台驱动代码,并分享了多圈测量、噪声滤波等进阶应用与避坑技巧,帮助开发者快速将这款非接触式角度传感器集成到电机控制、旋钮等项目中。

weixin_29172201的博客 243

JSF的中文化与国际化(转贴)

 对于各种不同的Java应用,国际化的问题总会给我们非英文用户带来一些麻烦,在JSF中也一样,在实践中碰到了一系列不容易解决的问题,最终解决的大部分的问题,也完成了一个可以运行的小项目,我把我的一些经验拿出来和大家分享一下,希望能让大家在这些地方少走一些弯路。          Java中的国际化是由 java.util.Locale 类支持的,中文对应的代码是“zh”,所以我们要在JSF

ibmOpen's World 686

车窗标定工作流程

标定简单来说就是修改防夹参数来适配对应的车型,所有的防夹的参数在vers_userdef.h文件中定义。#标定内容。

qq_21274991的博客 4272

使用 NTLite 来定制专属的官方 windows 镜像

移除掉不想要的一些自带的应用,比如 Xbox,office 啥的,这个就根据自己的实际需求来选择,备注基本都是有解释这个应用的作用。win 11 的右键展示不喜欢,更喜欢 win10 的,但是需要修改注册表,这里直接把下面的命令写到后期任务里面。NTLite 的自动保存会话功能会保留操作过的配置,是一个 xml 文件,可以在下次升级镜像版本的时候,导入配置。关闭 windows defender,不关会有这个提示,点是,就会跳到对应的界面。勾选创建 iso,配置 iso 镜像的名字,然后点开始。

以梦为马|越骑越傻 3336

国际化rich:calendar控件——面板显示中文

1.通过locale进行中文化定义。<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xml

一个烂人的随手笔记 4806

基于深度学习的商品标签识别系统:UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集

基于YOLO系列模型的商品标签识别系统能够有效解决商品信息提取的自动化问题。通过合理的数据集准备、模型训练和UI设计,我们可以实现一个功能强大的商品标签识别系统。希望本文提供的内容能够为大家提供有价值的帮助。

YOLO 475

Seam的中文化支持

一、预备知识 Seam的中文化支持是通过资源包文件来实现的。资源包是Java属性元数据格式的一种应用,它以键/值对的形式保存元数据。这些键/值对按照一定的规则进行分组,并绑定到某个bundle名称下。Java将根据bundle名和指定的地域(即local)来查找属性文件。文件名由bundle组成,接着是以一条下划线(_)作为前缀的当前地域,最后是.properties的扩展名。如果找不到当前地域...

weixin_34248705的博客 98

11、改进的加权轮询调度算法

本文详细介绍了对传统加权轮询(WRR)调度算法的改进方法,包括动态权重调整、优先级调度和预测机制,旨在提升系统的公平性、响应速度和适应性。通过设计与实现改进算法,并结合实验验证其在响应时间、资源利用率和公平性方面的显著提升,同时列举了该算法在数据中心、云服务平台、CDN及电商平台等实际场景中的应用案例。

day7的博客 190

【模型】OpenClaw 接入阿里云永久免费模型方案

Qwen2.5-7B-Instruct 模型为例。

海兰 4473

那么承接着新建了模块,我就来说一下SSM(Spring、SpringMVC、Mybatis)框架如何搭建...

记得我一开始学习框架的时候,曾经以为搭建框架是要在编译器的某个地方新增某个插件,(以为Spring这种东西是一个脚本什么的,或者是一个可执行程序。就是跟某个外文软件如果要中文化,还需要加入一些汉化插件)。还有一个误解就是,框架必须在新建项目的时候在勾选框里选好,要不然搭建就会很麻烦或者根本无效(也不知道哪里脑子转不过弯来)。后来自己搭建了几次,发现无非就是配置文件和jar(m...

weixin_34252686的博客 93

SiC MOSFET 失效机制详解

TDDB 指在相对较低电场(通常接近或略高于器件工作电压)下,长时间施加电压导致介电层(如栅氧化物)逐渐退化并最终击穿的现象。与即时击穿(Immediate Breakdown,由强电场直接引起)不同,TDDB 是时间相关的渐进过程,通常发生在数小时、几天甚至数年之后。核心过程:在 MOSFET 中,栅极与衬底之间施加电压时,电子通过量子隧道效应(Tunneling)注入介电层,形成缺陷或陷阱。这些缺陷积累,最终在介电层中形成导电路径(Conductive Path),导致短路和器件失效。统计特性。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 385

大数据与应用服务赛题复现-JDK 与 Hadoop 安装配置

Ubuntu 默认的 127.0.1.1 映射会让 NameNode/RM 绑到回环,务必加 rpc-bind-host/http-bind-host/bind-host=0.0.0.0。若 java -version 显示 11.x,说明有其它 profile 覆盖,执行 sudo update-alternatives --set java /usr/local/jdk/bin/java。若误执行,必须同时清空所有 DataNode 的 /usr/local/data/data 再启动;

lightningyang的博客 199

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SCA:一、eclipse中搭建Spring Boot4 + SCA 2025.1.0.0 + Nacos + OpenFeign 完整 Demo

本文基于Spring Boot 4与Spring Cloud Alibaba 2025.1.0,演示如何使用Nacos实现服务注册与Feign远程调用。通过创建Maven父子工程,配置Nacos注册中心,分别开发提供者(nacos-provider)和消费者(nacos-consumer)模块,利用Feign声明式接口完成跨服务调用。启动后访问/call/jangle即可验证服务间通信,完整展示了微服务架构下的服务发现与负载均衡实践。

博风_刺耳的博客(网络记事本) 303

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 149

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 351

副队长BootStrap5探究(2)--按钮与按钮组

本文系统讲解Bootstrap 5按钮组件的使用与底层原理。通过CDN引入框架,掌握btn基础类及primary、success等主题色应用,学习轮廓按钮(btn-outline-*)、尺寸控制(btn-lg/sm)、块级布局(d-block)和禁用状态(disabled)等实用功能。结合源码解析,深入理解其基于CSS的圆角、过渡动画、伪类交互实现机制,实现“快速上手+原理掌握”的双重目标,助力前端技能进阶。

编程副队长 675

DSH (DeepSeek Harness) Windows 升级安装指南20261107

注意:如果在普通窗口执行 nvm 提示找不到命令,或执行 nvm use 提示 Access is denied,请务必关闭当前窗口,重新打开一个管理员CMD 执行上述完整路径命令。找到 .credentials.yaml,将其重命名为 .credentials.yaml.bak(备份并使其失效)。Node.js Storage Location:可改到非系统盘(如 D:\dev\nvm,避免路径含空格或中文)。打开文件资源管理器,进入 C:\Users<你的用户名>.dsh\。

fengye207161的博客 227

SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在

# SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在 > 这是一套基于 Spring Boot 的服装销售平台源码,配套 `db.sql` 建表脚本,业务覆盖商品展示、购物车、订单流转、收货地址、订单评价、商品评论、在线客服、轮播图和资讯。形态是**前后台双端**:前台是顾客逛的商城,后台是管理员管的控制台。本文带你看清里面有什么、怎么跑

面朝大海 227

微信小程序-wxs

在微信开发者工具中右键创建.wxs后缀的文件。每个.wxs文件也是一个独立模块,同样使用导出内容。示例(文件return d;FOO: foo,bar: bar(外联定义参考官方文档)

dreams_dream的博客 352

汽车租赁系统(协同过滤算法、支付宝沙盒支付、 腾讯地图接入、WebSocket在线沟通、ECharts运营分析、三角色协同、还车费用处理)

本系统基于B/S架构,采用前后端分离设计,集成SpringBoot3、Vue2、MySQL等技术,实现用户、商家、管理员三角色协同管理。亮点包括:车型加权推荐与话题协同过滤算法提升个性化体验;支付宝沙盒支付、腾讯地图定位、WebSocket在线沟通保障流程闭环;还车费用智能计算与ECharts多维数据可视化助力运营分析,全面支持租车全生命周期管理。

paopaokaka_luck的博客 162

设计模式(unity游戏研发版)

当你使用图形用户界面类时通常会遇到一个问题。比如,你创建了自定义按钮类并允许客户端在按钮中注入自定义代码,这样当用户按下按钮时就会触发这些代码。观察者模式允许任何实现了订阅者接口的对象订阅发布者对象的事件通知。你可在按钮中添加订阅机制,允许客户端通过自定义订阅类注入自定义代码。在Unity中,这就像UnityEvent在Inspector中绑定多个回调。

m0_63330263的博客 107
上一篇: 漫谈Java程序的性能优化-Java基础-Java-编程开发
下一篇: MD5的Java Bean实现-Java基础-Java-编程开发
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值