としてインポートされ
<spring:message code = "${model.error}" />
コントローラのModel(またはModelAndView)。
// In a controller class
...
@Autowired
private MessageResolver messageResolver;
...
@RequestMapping(value="/edit")
public ModelAndView getSomething(MyFormData formData,
ModelAndView mv) {
mv.setViewName("TARGET_VIEW");
// Do some controller things...
Map<String, Object> map = new HashMap<String, Object>();
map.put("msg", messageResolver);
mv.addAllObjects(map);
return mv;
}
そして、JSPでは${msg.getMessage('MESSAGE_CODE')}
を使用できます。 このアプローチの大きな利点は、Springフォームタグ内でもMessageを使用できることです。 <spring:message code="MESSAGE_CODE" />
はSpringフォームタグ内で使用できません。
<form:select path="domainObj1.property1" cssClass="form-control">
<form:option value="" label="--${msg.getMessage('L01006')}--" />
<form:options items="${selection.selectionList}" itemValue="code" itemLabel="codeVal"/>
</form:select>
それも、より良いあなたがすべてのコントローラで同じコードを書くのではなくのModelAndViewにmessageResolverを置くために、カスタムのInterceptor(具体的には、postHandle方式)を実装することです。
そして、taglibのリファレンスは次のとおりです。http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/spring.tld.html –
ありがとう、実際には動作します! – tsunade21
タグを使わずにmessageSourceからメッセージを取得することはできますか?$ {msg ['code']}のような表現を意味しますか? – marioosh