更新时间:2023-09-28 20:50:40
对于基本的 JSP/Servlet web 应用程序,基本方法是使用 JSTL fmt
taglib 结合 资源包.资源包包含键值对,其中键是一个常量,对于所有语言都相同,而值因语言而异.资源包通常是属性文件,由ResourceBundle代码> API.但是,这可以自定义,以便您可以从例如数据库加载键值对.
这是一个如何使用基于属性文件的资源包来国际化 Web 应用程序登录表单的示例.
创建以下文件并将它们放入某个包中,例如com.example.i18n
(在Maven的情况下,将它们放在src/main/resources
内的包结构中).
text.properties
(包含默认语言的键值对,通常是英文)
text_nl.properties
(包含荷兰语 (nl
) 键值对)
text_es.properties
(包含西班牙语(es
)键值对)
资源包文件名应遵循以下模式name_ll_CC.properties
._ll
部分应该是小写的 ISO 693-1语言代码.它是可选的,仅当 _CC
部分存在时才需要._CC
部分应该是大写的 ISO 3166-1 Alpha-2 国家代码.它是可选的,通常仅用于区分特定国家/地区的语言方言,例如 美国英语(_en_US
) 和 英国英语(_en_GB
).
如果还没有完成,请按照此答案中的说明安装 JSTL:如何安装JSTL?绝对uri:http://java.sun.com/jstl/core 无法解析.
创建以下示例 JSP 文件并将其放在 Web 内容文件夹中.
login.jsp
<身体><表格><select id="language"名称=语言"onchange="提交()">Español</option></选择></表单><表单方法=发布"><label for="username"><fmt:message key="login.label.username"/>:</label><br><label for=password"><fmt:message key=login.label.password"/>:</label><br><fmt:message key="login.button.submit";var=buttonValue"/></表单>