我正在尝试将我的网络应用程序的网址国际化。基本上我希望能够在首选语言为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不接受它。
你知道这样做的方法吗?
答案 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>