我正在将Spring MVC和Velocity模板用于国际化网站。
在我的注册表单上,我通过#springFormInput标签使用数据绑定。
如何在其中设置翻译的占位符?
会是这样的:
#springFormInput("signupForm.emailAddress", "required email='true' maxlength='100' placeholder='TRANSLATED STRING'")
我以为我可以这样做,但我不确定如何嵌套方法:
#springFormInput("signupForm.emailAddress", "required email='true' maxlength='100' placeholder='#springMessage("email_address")'")
(在这种情况下,“email_address”是messages.properties翻译文件中的“密钥”。)
答案 0 :(得分:1)
我得到了这个工作。我必须在上面的行中设置一个变量(在Velocity中)。
查看$placeholderPassword
的行。
#springBind("signupForm.password")
#if("$!status.errorCode" != "")
#set($passwordError = true)
#end
<div class="input password#if($passwordError) invalid#end">
<div class="icon">
<div class="image"></div>
</div>
#set($placeholderPassword = "#springMessage($TranslationConstants.PASSWORD)")
#springFormPasswordInput("signupForm.password", "placeholder='$placeholderPassword'")
<div class="status">
<div class="image"></div>
#if($passwordError)
<div for="password" class="alert alert-error">
$status.errorMessage
</div>
#end
</div>
</div>
$ TranslationConstants通过FieldMethodizer(https://stackoverflow.com/a/15126547/470749)注入。
答案 1 :(得分:0)
不使用FieldMethodizer并设置速度变量,您可以这样做:
#springFormInput("saleReportForm.reference" "class=form-control placeholder='#springMessage('saleReportForm.reference.placeholder')'")