2015-06-04 131 views
2

我遇到了一個問題,試圖使用Grails 2.4.3顯示依賴於用戶語言環境的不同g:文本框。Grails GSP - 顯示取決於語言環境的不同文本框

我發現,繞過Grails的2.4.3提出的一個問題我必須把我的普惠制頁面上的一個變量:

<g:set var="lang" value="${session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE'}" /> 

我可以顯示$ {}郎正確,看到正確的在屏幕上的價值。

我必須顯示一個不同的文本框依賴於語言環境值,所以我假設我可以使用以下但它不起作用?

<g:if test="${lang.equals('de')}"> 
    German Textfield 
</g:if> 

我曾嘗試lang.equals和郎==去,我在這裏表示,每個德和連接

<g:elseif test="${lang == 'en'}"> 
    English Textfield 
</g:elseif> 

<g:else> 
    no language support 
</g:else> 

回答

3

做這樣的:

<g:if test="${lang == Locale.GERMAN}"> 
... 

我會建議您獲取當前的語言環境,如下所示:

<%@ page import="org.springframework.web.servlet.support.RequestContextUtils" %> 

<g:set var="lang" value="${RequestContextUtils.getLocale(request)}" /> 
+0

謝謝,工作一種享受! – NewbieGrails

0

語言環境不是一種語言。它擁有國家和語言。參考specs

<g:set var="locale" value="${RequestContextUtils.getLocale(request)}" /> 
<g:if test="${locale == Locale.GERMAN}">German Textfield</g:if> 
0
<%@ page import="org.springframework.web.servlet.support.RequestContextUtils" %> 
<g:set var="lang" value="${RequestContextUtils.getLocale(request)}" /> 
... 

<g:if test="${lang.getLanguage() == 'ru'}"> 
相關問題