Spring mvc 速度:#设置($var2=";#springMessage($var1)";)
我想这样做:Spring mvc 速度:#设置($var2=";#springMessage($var1)";),spring-mvc,localization,internationalization,translation,velocity,Spring Mvc,Localization,Internationalization,Translation,Velocity,我想这样做: <head> <title> #set($windowTitleKey = $tiles.insertAttribute({'name':'window_title_key', 'ignore': true})) #set($translatedPageName = "#springMessage($windowTitleKey)") #springMessageText("SEO_page_title
<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($windowTitleKey=$tiles.insertAttribute({'name':'window\u title\u key','ignore':true}))
#set($translatedPageName=“#springMessage($windowTitleKey)”)
#springMessageText(“搜索引擎优化页面标题默认值,[$translatedPageName])
第一个“set”行起作用,springMessageText行也起作用
这一行不起作用:
#set($translatedPageName=“#springMessage($windowTitleKey)”)
它将$translatedPageName设置为$springMacroRequestContext.getMessage($code)
实现嵌套翻译目标的另一种方法是什么?我最终需要编写一个自定义帮助程序。真麻烦。我期待着有一天完全放弃Velocity
在速度视图中:
#set($windowTitleKey = $tiles.insertAttribute({'name':'window_title_key', 'ignore': true}))
#set($translatedPageName = $TranslationsHelper.getTranslation("$windowTitleKey"))
#springMessageText("SEO_window_title_default", ["$translatedPageName"])
在translationHelper.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");
}
}
我知道#评估,但不知道我会在哪里/如何使用它。你说我应该怎么做?