i18n java项目中的URL

时间:2013-04-27 13:00:49

标签: url java-ee internationalization

我正在尝试将我的网络应用程序的网址国际化。基本上我希望能够在首选语言为fr时设置www.mysite.com/france/inscription的链接,当首选语言为en时,可以设置www.mysite.com/signup的链接。

到目前为止,我一直在使用jtsl选择手动设置网址:

<c:choose>
    <c:when test="${pageContext.request.locale.language eq 'fr'}">
        <a class="trialButton" href="<c:url value="/france/inscription?type=0"/>"><fmt:message key='features_trial'/></a>
    </c:when>
    <c:otherwise>
        <a class="trialButton" href="<c:url value="/subscribe?type=0"/>"><fmt:message key='features_trial'/></a>                    
    </c:otherwise>
</c:choose>

理想情况下,我希望能够直接从我的资源包中获取本地化的网址,我试图这样做:

<a class="trialButton" href="<c:url value=<fmt:message key='features_trial_url'/>/>"><fmt:message key='features_trial'/></a>    

但是eclipse不接受它。

你知道这样做的方法吗?

1 个答案:

答案 0 :(得分:0)

您不能在另一个JSP标记的属性中使用JSP标记。但是,打印值的所有JSTL标记都具有属性var,允许将值存储在属性中而不是打印它。所以你可以简单地使用

<fmt:message key='features_trial_url' var"theUrl"/>
<a class="trialButton" href="<c:url value='${theUrl}'>"><fmt:message key='features_trial'/></a>