我在尝试使用Grails 2.4.3显示依赖于用户区域设置的不同g:textfield时遇到问题。
我发现要绕过Grails 2.4.3中提出的问题,我必须在我的gsp页面上设置一个变量:
<g:set var="lang" value="${session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE'}" />
我可以正确显示$ {lang}并在屏幕上看到正确的值。
我必须显示一个取决于语言环境值的不同文本字段,所以我假设我可以使用以下但它不起作用?
<g:if test="${lang.equals('de')}">
German Textfield
</g:if>
我尝试了lang.equals和lang == de,我在这里展示了每个de和en
<g:elseif test="${lang == 'en'}">
English Textfield
</g:elseif>
<g:else>
no language support
</g:else>
答案 0 :(得分:3)
这样做:
<g:if test="${lang == Locale.GERMAN}">
...
我建议您获取当前的语言环境:
<%@ page import="org.springframework.web.servlet.support.RequestContextUtils" %>
<g:set var="lang" value="${RequestContextUtils.getLocale(request)}" />
答案 1 :(得分:0)
区域设置不是一种语言。它拥有国家和语言。请参阅specs。
<g:set var="locale" value="${RequestContextUtils.getLocale(request)}" />
<g:if test="${locale == Locale.GERMAN}">German Textfield</g:if>
答案 2 :(得分:0)
if(navigator.onLine)
{
//Continue with your code.
}
else
{
//Show your error div.
}