如何创建包含多种语言的页面?

时间:2013-08-05 19:50:46

标签: java jsp java-ee jstl

我刚刚创建了.properties及其值和JSP文件

<%@ 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)它从我的属性文件中获取用户名和密码(默认为英语)。它可以工作,但文本没有显示在按钮中。密钥&#34; login.label.password&#34;是对的。

问题2)当我点击链接时,例如PARIS,我需要更改属性文件中的文本。我怎样才能做到这一点?我该如何更改区域设置?我想我应该在会话中写,因为我也需要从数据库中更改语言。

问题3)通过更改属性文件的文本,我也需要来自数据库的语言文本(不更改链接)。我怎样才能做到这一点?

Questin 4 我应该使用JSTL,还是应该在会话中保存语言并使用此类?language="EN"重定向?

0 个答案:

没有答案