我想实现一个基于JSP和servlet的网站,它允许您在不更改页面的情况下将语言从意大利语更改为英语...如何更改html页面标签的字符串?
答案 0 :(得分:1)
您可以创建两个不同的"属性"文件,每种语言一个,并在它们中使用相同的键,用于应用程序中的不同标签。
然后你可以命名一个" messages-en.properties"和其他" messages-it.properties"并在代码中选择您想要使用的代码。你可以通过某种方式从网页上更改动态,或者只是硬编码进行测试。
"属性的内容示例"文件将是:
英文:
# Comments
page.title = Title of my page
page.subtitle = Subtitle of my page
意大利语:
# Commenti
page.title = Titolo della mia pagina
page.subtitle = Sottotitolo della mia pagina
只需使用密钥抓取消息,然后根据您选择的文件,您将收到要显示的消息。希望这会有所帮助。
答案 1 :(得分:0)
我建议您使用JSTL国际化标记库,这样您就可以使用带有<fmt:message>
标记的相同属性文件ResourceBundles,这里是基本的example,我为链接添加了代码,使用<fmt:setBundle>
标记设置包,basename是您的属性文件的名称,并且您可以通过<fmt:message>
中的键值访问这些值,您可以查看区域设置在此示例中,<fmt:setLocale>
的值为“en”,但您可以根据请求信息对其进行设置。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:message Tag</title>
</head>
<body>
<fmt:setLocale value="en"/>
<fmt:setBundle basename="com.tutorialspoint.Example" var="lang"/>
<fmt:message key="count.one" bundle="${lang}"/><br/>
<fmt:message key="count.two" bundle="${lang}"/><br/>
<fmt:message key="count.three" bundle="${lang}"/><br/>
</body>
</html>
您可以查看JEE教程以获取更多信息:Tutorial