JavaWeb之国际化

 

概述

 

软件的本地化:一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字,货币,日期等习惯。

软件的国际化:软件开发时,让它能支持多个国家和地区的本地化应用。使得应用软件能够适应多个地区的语言和文化风俗习惯。

随用户区域信息而变化的数据称为本地信息敏感数据。例如数字,货币等数据。

应用程序的国际化就是在应用软件的设计阶段,使软件能够支持多个国家和地区的用户的使用习惯。

国际化又称为 i18n:internationalization

 

软件国际化的特征

 

一个国际化的应用软件应有下面的特性:

对于程序中的本地信息敏感的数据(日期,货币等)能根据当前所在的国家或地区的文化习惯进行显示

对于文本元素(错误提示信息,状态信息等)不是直接写在应用程序中,而是存储在应用程序外部的资源文件中,在应用程序中通过程序代码来动态获得这些数据

无需修改和重新编译程序就能支持新的国家或地区的用户使用

 

Java 国际化解决方案

 

本文信息不能硬编码在程序代码中,而是需要将它们从应用程序中分离出来,在软件运行时根据本地信息读取相应的文本内容进行显示

数值,货币,时间,日期等本地敏感数据可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理。Java 中提供了解决这些问题的 API 类(位于 java.util 包和 java.text 包中)

 

Locale 类

 

Locale 实例对象代表一个特定的地理,政治或文化上的区域

一个 Locale 对象本身不会验证它代表的语言和国家地区信息是否正确,只是向本地敏感的类提供本地信息,与国际化相关的格式化和解析任务由本地敏感的类(若JDK中的某个类在运行时需要根据 Locale 对象来调整其功能,这个类就称为本地敏感类)去完成

 

DateFormat 类

 

DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串,也可以将表示某个本地的日期/时间的字符串解析为相应的日期/时间对象

DateFormat 类定义了一些用于描述日期/时间的显示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,这些常量用于描述表示日期/时间字符串的长度。这些常量说明表示的日期/时间的确切格式取决于具体的国家和地区

 

获取 DateFormat 对象

DateFormat 对象通常不是线程安全的,每个线程都应该创建自己的 DateFormat  实例对象

DateFormat 对象的方法:

format: 将日期/时间对象格式化为符合某个本地环境习惯的字符串

parse:将符合某个本地环境习惯的日期/时间字符串解析为日期/时间对象

 

 

NumberFormat 类

 

NumberFormat 可以将一个数值格式化为符合某个国家地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值

NumberFormat 类的方法:

format 方法:将一个数值格式化为符合某个国家地区习惯的数值字符串

parse 方法:符合某个国家地区习惯的数值字符串解析为对应的数值

 

MessageFormat 类

 

MessageFormat 类提供了一种参数替换模式字符串中的占位符的方式,它将根据模式字符串中包含的占位符产生一系列的格式化对象,然会调用这些格式化对象对参数进行格式化,并用格式化后的结果字符串替换模式字符串中的相应占位符。

 

 

模式字符串与占位符

 

模式字符串:

      On {0}, {1} destroyed {2} houses and caused {3} of damage.

对模式字符串进行格式化操作时,需要采用数组的方式提供模式字符串中的每个占位符所对应的参数.

占位符有以下三种方式:

{argumentIndex}: 0-9 之间的数字,表示要格式化对象数据在参数数组中的索引号

{argumentIndex,formatType}: 参数的格式化类型

{argumentIndex,formatType,FormatStyle}: 与指定的格式化类型对应的模式,它的值必须是与相应的格式化类型匹配的合法模式或表示合法模式的字符串

 

MessageFormat 格式化模式字符串

 

MessageFormat 类可以格式化模式字符串,它根据其中的占位符产生一系列的格式化对象,然后调用这些格式化对象对参数进行格式化,并用格式化后的结果字符串替换模式字符串中的相应占位符。

格式化模式字符串的步骤:

创建 MessageFormat 对象:须指定格式化的模式字符串,也可以指定 Locale 对象来按某个国家地区的习惯进行格式化。

调用 MessageFormat 对象的 format 方法执行格式化操作:须为format 方法传递一个数组类型的参数,数组中的每个元素分别用于代替模式字符串中的与其索引号相对应的占位符

 

 

ResourceBundle 类

 

ResourceBundle 类用于描述一个资源包,一个资源包用于包含一组与某个本地环境相关的对象,可以从一个资源包中获取特定于本地环境的对象。对于不同的本地环境,可以有不同的 ResourceBundle 对象与之关联,关联的 ResourceBundle 对象中包含该本地环境下专有的对象

 

 

资源包简介

 

在设计一个国际化应用时,应该把程序显示的文本内容从源程序中分离出来,放在独立的资源文件中,并针对不同的本地环境编写不同的资源文件。这些资源文件被称为应用程序的资源包

应用程序在运行时,将从与用户的本地环境相对应资源文件中读取名称项对应的值的内容,由于同一个名称项在各个资源文件中对应的值内容是随本地环境信息而改变的,这样就实现了程序的静态文本内容的国际化。

当要为应用程序添加某个新的本地化支持时,只需编写一个适合的本地环境的资源文件即可,不用修改源程序代码

 

 

一个应用程序可以有多个资源包,一个资源包中的每个资源文件都拥有共同的基名。除了基名,每个资源文件的名称中还有标识其本地信息的附加部分。例如:一个资源包的基名是:“myproperties”, 则该资源包中与中文环境相对应的资源文件为: “myproperites_zh.properties”

一般情况下,每个资源包都有一个默认的资源文件,默认的资源文件不带标识本地信息的附加部分。若应用程序在资源包中找不到某个本地环境匹配的资源文件,最后将选择该资源包中的默认资源文件。

 

 

资源文件的内部格式

 

资源文件通常采用 java.util.Properties 类要求的文件格式,其中包含每项资源信息的名称项和值内容,每个名称项用于唯一地标识一个资源信息,值内容用于指定资源信息在某个本地环境下的内容

一个资源包中的所有资源文件中通常都应包含相同的名称项,与各个本地环境对应的资源文件中为这些名称项设置的值分别是适合该本地环境的内容。

资源文件完全遵循 java.util.Properties 类要求的文件格式,它要求资源文件中的字符必须全部为有效的 ASCII 字符。若资源文件中要包含非 ASCII 的字符,必须将它们转化成”\uXXXX”形式的转移序列,其中 XXXX 是该字符的 Unicode 编码的十六进制数值

 

 

使用 native2ascii 程序转换字符编码

 

JDK 中提供了一个 native2ascii 工具程序,它可以将某种本地字符集编码的字符转换成 Unicode 转义序列的形式

DOS 下进入 haha.txt 文件所在目录,运行下面的命令后将在当前目录下生成一个名为 hehe.properites 文件:

    native2ascii -encoding gb2312 haha.txt haha.properites

 

装载资源包

 

ResourceBundle 类提供了存放和管理资源包的功能

当应用程序需要获取特定locale对象关联的资源包时,可以调用ResourceBundle的getBundle方法,并将locale对象作为参数传入。

     Locale currentLocale = Locale.getDefault();

     ResourceBundle myResources = 

         ResourceBundle.getBundle(“myproperties ", currentLocale);

如果与该locale对象匹配的资源包子类找不到,getBundle将试着查找最匹配的一个子类。如果特定locale对象的语言代码、国家代码和可选变量都是空值,则基名是唯一的候选资源包名称。 

 

读取资源信息

 

加载资源文件后, ResourceBundle 的实例对象就可以使用 getString 方法获取指定的资源信息名称所对应的值。

      String OkKey  =  myResources.getString("OkKey");

 

Web 应用程序的国际化

 

实现 web 应用国际化有两种方式:

针对不同语言和地区的用户开发出不同的 JSP 网页版本,当用户请求资源时,根据请求消息中携带的本地信息为用户提供合适的版本

将对本地环境敏感的资源数据(例如:错误提示信息,菜单文字等)从网页中分离出来,放在 .properties 属性资源文件中。对于应用程序中的数值,货币和日期/时间等本地敏感数据,可以通过占位符的方式设置它们的格式类型和格式模式。

 

 

获取 web 应用中的本地信息

 

要实现 web 应用的国际化,首先要获得客户端浏览器的本地信息。

在 Servlet 程序中,调用 HttpServletRequest 对象的 方法获得代表客户端本地信息的 Locale 对象:

getLocale():返回代表客户端的首选本地信息的 Locale 对象

getLocales():返回一个包含客户端支持的所有本地信息的 Locale 对象的 Enumeration 对象,这些Locale 对象按照客户端支持的所有本地信息的优先级在集合中一次排列

 

 

国际化格式标签库示例

 

国际化:<fmt:setLocale> <fmt::formatDate> 

 



 

 

消息标签:<fmt:bundle> <fmt:message> <fmt:setBundle> <fmt:param> 

 

所对应的读取文件为 dbconn.properties(放在WEB-INF/classes下了), 内容为:

 



 

 



 

国际化格式标签库简介

 

<fmt:bundle>标签用于绑定数据源.properties文件(基名):

       <fmt:bundle basename="源文件名(且不能带后缀哦)" prefix=""> 

            语句,代码等 

        </fmt:bundle>

<fmt:message>标签用于从指定的资源文件中把指定的键值取来:

     <fmt:message key="" [var="varname"] [bundle=""] [scope="page|..."] />  

      如果用到var的话就不会在页面直接输出,而需要用到<c:out>标签来进行页面  

      的输出

<fmt:message>必须和<fmt:bundle >搭配使用 

<fmt:message>标签可以配合<fmt:param>标签来进行设定<fmt:message>标签指向键的动态值

<fmt:setBundle>标签用于设置默认的数据来源:

     <fmt:setBundle basename="" [ var=""]  [scope="" ]  />

 

<fmt:formatNumber>标签用于根据设定的区域将数据格式化输出;

<fmt:formatDate>标签用于格式化输出日期和时间;

<fmt:parseDate>标签用于把字符串类型的日期和时间转换成日期型数据类型;

<fmt:setTimeZone>标签用于设定默认的时区;

<fmt:timeZone>标签用于设定在本签体内有效的时区

 

小结

 

1. 什么是国际化和本地化:

 

I.   本地化:一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字,货币,日期等习惯。

II.  国际化:软件开发时,让它能支持多个国家和地区的本地化应用。使得应用软件能够适应多个地区的语言和文化风俗习惯

III. 本地敏感数据: 随用户区域信息而变化的数据称为本地信息敏感数据。例如数字,货币, 日期,时间等数据

 

2. 相关的 API:

 

I.   DateFormat 和 SimpleDateFormat √. 

II.  NumberFormat 

III. MessageFormat

IV.  ResourceBundle

V.   Locale

 

3. 关于国际化资源文件:

 

I.   properties 文件格式

II.  必须提供 基名.properties 文件和 基名_语言代码_国家代码.properties 文件

III. 相同的 基名 的资源文件必须有相同的 key. 

IV.  可能需要使用 native2ascii 工具把非 asc 码转为 asc 码.

 

4. WEB 的国际化

 

I.   可以使用 request.getLocale() 获取 Locale 对象

II.  可以使用 JSTL 的 fmt 标签完成的国际化. 后面使用框架提供的标签完成. 

III. 实现 "中文" "英文" 的切换:

 

> 提供两个超简洁. 携带不同的变量值

> 根据变量值确定对应的 Locale 对象

> 把 Locale 对象放入到  session 中

> 绑定 Locale 对应的资源文件. 

 

IV.  其他 fmt 标签可以参考 standard-examples.war 中的例子.  

7、PPG信号处理与质量评估 本文详细介绍了PPG信号的处理与质量评估方法,包括信号滤波技术(如卷积和互相关)、滤波器选择、信号质量指标(SQI)的定义与应用,以及标注一致性的评估。同时,提供了MATLAB代码示例和操作步骤,并分析了不同指标的优势与适用场景,旨在提高PPG信号在诊断和监测中的准确性与可靠性。 阅读详情

相关推荐

SAP批量数据导入实战:BDC、CATT、LSMW三大工具保姆级对比教程

本文深入对比了SAP系统中三大批量数据导入工具BDC、CATT和LSMW的核心定位、适用场景与实战操作。BDC适合复杂逻辑的编程式处理,CATT适合业务用户快速录制回放,LSMW则是数据迁移项目的结构化首选。文章提供了详细的选型决策框架、性能优化技巧及常见陷阱规避指南,帮助SAP顾问和开发者高效完成数据批量维护任务。

weixin_29213525的博客 151

Android的语言设置(二)

Android系统Setting程序中对于语言设置这块的内容

seker_xinjian的专栏 1万+

SkyWalking跨线程Trace传递实战:手把手教你用RunnableWrapper解决异步链路中断问题

本文深入解析了SkyWalking在异步编程场景下链路追踪中断的根源,并提供了使用RunnableWrapper等官方包装类的实战解决方案。通过详细的原理解析和代码示例,手把手指导开发者如何实现跨线程的Trace传递,确保分布式系统监控链路的完整性,有效解决异步任务导致的链路中断问题。

sand8的博客 493

4.22平台Android的语言设置

路径:设置输入语言:Settings -> Language & keyboard -> Android keyboard [settings] -> Input languages

pecke的专栏 1016

逆变器母线电容选型与均压电阻设计实战指南

本文为逆变器母线电容选型与均压电阻设计提供了实战指南。文章从工程角度出发,详细解析了母线电容耐压值、容值的计算方法,并重点强调了纹波电流热设计的重要性。同时,深入探讨了串联电容均压电阻的设计原则与功率计算,通过5.5kW变频器案例,系统演示了从参数确定到最终选型的完整流程,旨在帮助工程师设计出稳定可靠的逆变器系统。

weixin_29299807的博客 291

两种方法解决这个问题OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

两种方法解决这个问题OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.在进行深度学习比如在训练yolov8模型时,在加载训练集和验证集时会报以下那个错误时会导致模型训练中断,有以下两个方法去解决这个问题,来使模型正常训练。

weixin_73044854的博客 2万+

使用folium制作出行地图

文章目录写在前面库使用环境正式开始folium的安装显示地图为地图做标记人机交互 写在前面 库 如标题所示,绘制地图所需要的核心库便是folium,官方文档中有对folium更全面的使用教程,本篇博文仅限于在地图上标记、注释等部分。 使用环境 所有的代码及演示均默认在Jupyter Notebook下运行。 正式开始 folium的安装 要完成这个实例,首先要先将所需的库import进来,如果没有安装该库,可用conda安装: conda install folium -c conda-forge 当然,也

ShadyPi的IT笔记 3312

深度强化学习在足式机器人中的应用 (一):基础原理与仿真环境

我们将首先深入探讨其背后的核心挑战与技术栈,然后详细推导机器人学和强化学习的基本数学原理,特别是剖析在机器人控制领域表现卓越的PPO算法。下面的独立Python脚本展示了Isaac Gym的基本API用法,加载一个Go1机器人(假设URDF已准备好),并让它执行一个简单的预设动作(正弦波运动),以此来熟悉仿真流程。:代码的核心是直接操作GPU上的PyTorch张量,避免了CPU和GPU之间的数据拷贝,这是实现高性能的关键。:所有计算(如伪策略中的正弦波计算)都应该是向量化的,一次性为所有。

VectorShift的博客 228

golang从0到1实战系统九十八: 国际化和本地化

同一种语言的不同国家,例如"en_US"表示美国英语,而"en_UK"表示英国英语。在应用里面设置域名和相应的 locale 的对应关系,就可以设置好地区。目前,Go 语言的标准包没有提供对 i18n 的支持,但有一些比较简单的第三方实现,这一。分,跟在一个句点之后,是可选的字符集说明符,例如"zh_CN.gb2312"表示中国使用。等)来设置与之相关的 locale,我们可以通过如下几种方式来设置用户的 locale。第二部分,跟在一个下划线之后,是一个可选的国家说明符,用于区分讲。些地区名的命名规范。

Mr_Roki的博客 839

【Python基础】FastAPI 从入门到项目实战操作详解

【Python基础】FastAPI从入门到使用实战操作详解

congge_study的博客 435

ARM Linux工控板+C# .NET Core:倍福ADS协议轻量化工业控制(附跨平台部署代码)

某自动化设备厂的倍福PLC控制系统曾依赖传统x86工控机:单台设备需配备1台Intel i5工控机(成本约8000元),功耗30W+,且Windows系统稳定性受工业环境干扰(如电磁辐射导致蓝屏)。更棘手的是,设备需部署在产线边缘(空间狭小),x86工控机的体积(4U机架)和散热需求(风扇噪音)难以适配;而多设备部署时,高硬件成本和高功耗导致年运维成本超20万元。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 954

i18n(国际化) 和l18n(本地化)时的地域标识代码

i18n(国际化) 和l18n(本地化)时的地域标识代码 格式如 zh-CN(语言-国家) i18n(国际化) 和l18n(本地化)时的地域标识代码 格式如 zh-CN(语言-国家) 国家说明 语言说明 语言编码 和 国家编码 中国 汉语 zh ...

weixin_30273501的博客 800

智能驾驶域控制器的“终极大考”:解析EOL测试的核心价值与技术实践

在智能驾驶技术高速发展的今天,域控制器(Domain Controller)作为车辆“大脑”的核心部件,承担着传感器数据处理、决策规划、执行控制等关键任务。然而,这个集成了数十个芯片、运行着数百万行代码的复杂系统,如何确保其出厂前的功能安全与性能稳定?答案就藏在被称为“生产线最后一道防线”的EOL(End of Line)测试中。

汽车电子软件领域知识分享 702

JavaWeb:国际化

国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来)。 合格的国际化软件 软...

离开屏幕的光,哪盏灯照亮你的孤独? 1523

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

javaweb之国际化

原文链接 [https://zhhll.com.cn/2021/javaweb/基础/11.国际化/] - 国际化(i18n): i18n internationalization,网站能够提供翻译成访问者的语言或国籍的不同版本的内容 - 本地化(i10n): 向网站添加资源,使其适应特定的地理或文化区域,例如将网站翻译为中文 - 区域设置:通常为语言符号后跟一个由下划线分隔的国家符号。例如"en_US"

Lxn2zh的博客 658

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【JavaWeb】i18n国际化

什么是I18N国际化: 国际化(Internationalization)指的是同一个 网站可以支持多种不同的语言,以方便不同的国家,不同语种的用户访问,一个相同的网站,而不同的人访问的时候可以根据用户所在的区域显示不同的语言文字,而网站的布局样式不发生改变; 国家化三要素: (1)Locale对象:.

weixin_47418550的博客 1139

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JavaWeb开发——软件国际化(文本元素国际化)

前几天围绕着JDBC编程进行了系统的学习。现在我们对Java程序数据库操作已经是轻车熟路了。也学会了使用各种框架来帮助我们简化编程。 今天是学习计划的第七天,虽然学习热情没有前几天高涨了。但是,写博客总结的习惯应该要坚持下去。废话不多说了。 今天的学习内容是JavaWeb开发——软件国际化。 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的...

。。。 2667

javaweb国际化

软件开发国际化是一个很常规的需求,实现国际化的方法也比较多,比如前端国际化方法jQuery.i18n.properties,现在介绍采用ResourceBundle和Local对象实现Javaweb国际化。 ResourceBundle是一个资源包,包含不同区域(Local)的资源集合,只要向ResouceBundle提供一个特定的Locale对象,ResouceBundle就会把相应的资源返回给

txx_laughing的博客 552

JavaWEB开发的国际化

JavaWEB开发的国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 固定文本元素的国际化 软件实现国际化,需具备哪些特征: 对于程序中固定使用的文本元素,例如菜单栏、导航条等使用的文本元素、或错误提示信息,状态信息等,需要根据来访者的地区和国家,选择不同语言的文本为之服务。

fengdongkun的专栏 1029

JavaWEB国际化——笔记

1、什么是JavaWEB国际化 简单来说就是根据不同的区域,选择所对应地区的页面风俗习惯 一般情况下所要改变的内容有语言、数字、货币、日期,这些随着用户信息而变化的数据称为本地信息敏感数据 国际化又称i18n:internationalization 所以对于这些本地信息敏感数据,还有错误提示信息、状态信息等文本信息,不是直接写在WEB程序中,而是存储在外部资

扁鹊的博客 295

JavaWEB开发-国际化

JavaWEB开发-国际化 国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化又称为 i18n:internationalization 合格的国际化软件 软件实现国际化,需具备哪些特征: 对于程序中固定使用的文本元素,例如菜单栏、导航条等使用的文本元素、...

ddmkmbdq307072的博客 138

java 国际化_JavaWeb之国际化

时间:2016-12-13 19:17为了满足不同语种的需求,对不同语言环境下进行访问所响应的页面中的文本采取变量形式进行响应。1、编写配置文件2、使用类import java.util.Locale;import java.util.ResourceBundle;import org.junit.Test;/*** 先写两个配置文件* 一个文件中存放中文信息* 另一个文件存放英文信息* ...

weixin_30981569的博客 163

javaweb项目之项目i18n国际化

1.什么是 i18n 国际化? 国际化(Internationalization)指的是同一个网站可以支持多种不同的语言,以方便不同国家,不同语种的用户访问。  关于国际化我们想到的最简单的方案就是为不同的国家创建不同的网站,比如苹果公司,他的英文官网是: http://www.apple.com 而中国官网是http://www.apple.com/cn  苹果公司这种方案并不适合全部公司,而我们希望相同的一个网站,而不同人访问的时候可以根据用户所在的区域显示不同的语言文字,而网站的布局样式等不发生改

qq_43670543的博客 537

JavaWEB开发-国际化:

20111111学习总结: JavaWEB开发-国际化: 国际化开发概述:     软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化又称为 i18n:internationalization DateFormat类(国际化日期): DateFormat 类可以将一个日期/时间对象格式化为

428

JavaWeb学习总结(十八)i18n国际化

在开发中,我们不希望jsp页面中有大量的代码脚本,那么我们就可以使用JSTL标签替代代码脚本。

long3359的博客 644
上一篇: JavaWeb之文件上传下载案例
下一篇: MyBatis
「已注销」
博客等级 码龄12年 7粉丝 282原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值