velocity中$springMacroRequestContext.getMessage($code)

在Java国际化(i18n)中,

vm页面显示内容需要使用 #springMessage("title")

实际运行时发现页面输出$springMacroRequestContext.getMessage($code)。看了一下源代码,#springMessage是一个宏,在spring.vm中定义为

#macro( springMessage $code )$springMacroRequestContext.getMessage($code)#end

原因是因为未找到$springMacroRequestContext...

解决方法:在我们定义视图resolver中加入对spring宏的支持

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        ...
        <property name="exposeSpringMacroHelpers" value="true"/>
    </bean>
 
时间: 2024-10-22 09:06:01

velocity中$springMacroRequestContext.getMessage($code)的相关文章

#springMessage宏的根源

前提:略了,springMVC的知识 #springMessage("xxx")处理国际化:spring处理国际化的方式可以很特别,因为可以使用这个标记.这个标记是在spring整合velocity模版后才能使用.这个模版在:org.springframework.web.servlet\src\main\java\org\springframework\web\servlet\view\velocity\spring.vmvelocity模版中第一个宏就是springMessage标

#springMessage()宏的解惑

#springMessage("xxx")处理国际化:spring处理国际化的方式可以很特别,因为可以使用这个标记.这个标记是在spring整合velocity模版后才能使用.这个模版在:org.springframework.web.servlet\src\main\java\org\springframework\web\servlet\view\velocity\spring.vmvelocity模版中第一个宏就是springMessage标记,还有其他的标记,如果用veloci

CAEmitterLayer,粒子发射系统

#import "DGExplodeAnimationView.h" #import <QuartzCore/QuartzCore.h> @interface DGExplodeAnimationView() @property (nonatomic, strong) CAEmitterLayer *emitterLayer; @end @implementation DGExplodeAnimationView #pragma mark - Initial Functio

MVC学习6 学习使用Code First Migrations功能 把Model的更新同步到DB中

 参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table 转:http://www.it165.net/pro/html/201403/10653.html 本文内容: 1,学习Entity Framework Code First 迁移功能(Migrations) 2,更新Model Class(Model

Lua 与C/C++ 交互系列:注册枚举enum到Lua Code中

在Lua Code中注册C/C++的枚举非常容易,就像注册全局变量一样.我们使用枚举名称作为命名空间,来避免注册的枚举发生冲突.注册的枚举存储在全局环境(线程环境)中. 当在Lua Code中访问枚举时,通过名称来访问对应的值. sample_9.cpp   c++代码如下: //在Lua Code中注册的enum,为了避免冲突,以名称作为enumTable来存储 enum Week { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

将目录下面所有的 .cs 文件合并到一个 code.cs 文件中

将目录下面所有的 .cs 文件合并到一个 code.cs 文件中. @echo Build started dir /ad/s/b > folderPath.txt md code for /f "tokens=1* delims=:" %%i in ('type folderPath.txt^|findstr /n ".*"') do ( copy %%j\*.cs code\%%i.cs ) copy code\*.* code.cs rd /s/q co

Lua 与C/C++ 交互系列:注冊枚举enum到Lua Code中

在Lua Code中注冊C/C++的枚举很easy,就像注冊全局变量一样.我们使用枚举名称作为命名空间,来避免注冊的枚举发生冲突.注冊的枚举存储在全局环境(线程环境)中. 当在Lua Code中訪问枚举时,通过名称来訪问相应的值. sample_9.cpp   c++代码例如以下: //在Lua Code中注冊的enum,为了避免冲突,以名称作为enumTable来存储 enum Week { Monday, Tuesday, Wednesday, Thursday, Friday, Satur

&lt;code&gt; 标签 让一段计算机代码显示在网页中

<code> 标签 解释:要让一段计算机代码显示在网页中,那么这段代码需要用<code> 标签包起来,不然他会被当作网页的代码被 运行. 例如: <code><img src="" alt=""></code> 原文地址:https://www.cnblogs.com/rygl/p/11829378.html

asp.net MVC code first Migrations : Model 同步到DB中

找来找去,看来用这个功能的人很少. http://www.it165.net/pro/html/201403/10653.html 步骤: 1,在程序包管理控制台上,Enable-Migrations,注意选择dbcontext. 2,add-migration AddRatingMig 3,update-database. 注意2步和3步的顺序,做不好就关闭开发环境后再试一试.