【问题标题】:Velocity: #set($var2 = "#springMessage($var1)")速度:#set($var2 = "#springMessage($var1)")
【发布时间】:2013-10-16 00:52:38
【问题描述】:

我想做这样的事情:

<head>
  <title>
    #set($windowTitleKey = $tiles.insertAttribute({'name':'window_title_key', 'ignore': true}))      
    #set($translatedPageName = "#springMessage($windowTitleKey)")        
    #springMessageText("SEO_page_title_default", [$translatedPageName])
  </title>
</head>

第一个“set”行有效,springMessageText 行也是如此。

此行不起作用:#set($translatedPageName = "#springMessage($windowTitleKey)") 它将 $translatedPageName 设置为 $springMacroRequestContext.getMessage($code)

实现嵌套翻译目标的另一种方法是什么?

【问题讨论】:

    标签: spring-mvc localization internationalization translation velocity


    【解决方案1】:

    ???你只需要 #evaluate???

    【讨论】:

    • 我知道#evaluate,但看不到我会在哪里/如何使用它。你说我应该怎么做?
    【解决方案2】:

    我最终需要编写一个自定义帮助程序。真麻烦。我期待有一天完全放弃 Velocity。

    在速度视图中:

    #set($windowTitleKey = $tiles.insertAttribute({'name':'window_title_key', 'ignore': true}))
    #set($translatedPageName = $TranslationsHelper.getTranslation("$windowTitleKey"))
    #springMessageText("SEO_window_title_default", ["$translatedPageName"])
    

    在 TranslationsHelper.java 中:

        public class TranslationsHelper extends ReloadableResourceBundleMessageSource
        {    
                public static String getTranslation(String messageKey, Object[] args)
                {
                        MessageSource ms = getMessageSource();
                        Locale locale = LocaleContextHolder.getLocale();
                        return ms.getMessage(messageKey, args, locale);
                }
                public static MessageSource getMessageSource()
                {
                        WebApplicationContext webAppContext = ContextLoader.getCurrentWebApplicationContext();
                        return (MessageSource) webAppContext.getBean("messageSource");        
                }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-02
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多