我刚刚用它的值和 JSP 文件创建了 .properties
<%@ page pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:set var="language" value="${not empty param.language ? param.language :
not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="ge.web.content.i18n.text" />
<!DOCTYPE html>
<html>
<head>
<title>JSP/JSTL i18n demo</title>
</head>
<body>
<a href="">ENGLISH </a> <br>
<a href="">PARIS</a>
<form method="post">
<label for="username"><fmt:message key="login.label.username" />:</label>
<input type="text" id="username" name="username">
<br>
<label for="password"><fmt:message key="login.label.password" />:</label>
<input type="password" id="password" name="password">
<br>
<fmt:message key="login.button.submit" var="buttonValue" />
<input type="submit" name="submit" value="${buttonValue}">
</form> <br> text from database here.
</body>
</html>
问题 1)它从我的属性文件中获取用户名和密码(默认为英文)。它有效,但文本未显示在按钮中。键“login.label.password”是正确的。
问题 2)例如,当我单击一个链接时PARIS
,我需要更改属性文件中的文本。我怎样才能做到这一点?如何更改语言环境?我想我应该在会话中写,因为我也需要从数据库中更改语言。
问题 3)通过更改属性文件的文本,我也需要数据库中的语言文本(不更改链接)。我怎样才能做到这一点?
Questin 4我应该使用 JSTL,还是应该将语言保存在会话中并使用类似的东西重定向?language="EN"
?