2015-12-10 33 views
0

我有一个奇怪的情况,我必须解码JSP页面内的Spring消息代码。通常这会由Spring MVC BindingResult代码处理,因为响应从控制器传回到JSP中,但这不是正常情况。代码包括这样的任意一个字符串数组,存储在所述内部Spring FieldError object的:在JSP中解析消息代码?

myform.myobject.someCode.mylist[1].someCode 
myform.myobject.someCode.someCode 
myform.myobject.someCode.something 
myform.myobject.someCode 

和消息解析过程由弹簧豆处理。我们使用的Message Source的定义是这样的:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basenames" value="messages,more_messages,even_more_messages,etcetera" /> 
</bean> 

而且我已经包括了豆到我的JSP:

<jsp:useBean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" /> 

但我无法弄清楚如何从拨打电话到messageSource.getMessage(error,locale) JSP。我已经试过这样:

${messageSource.getMessage(fieldError,null)} 

但是,这似乎并没有工作(同样,我得到一个关于非标准语法警告。)这不是之前,我不得不这样做 - 我不知道如何访问messageSource bean并获取消息。任何人都可以帮助我的语法,或更好的解决方案吗?

回答

0

事实证明春天已经想到了这一点。他们的标签库spring.tld有一个标签,它已经做到了。如果您熟悉spring-form.tld库,那么spring.tld库是一个方便的补充。文档在这里:Spring Framework Reference

我觉得不知道这一点很愚蠢,但有时你直到需要时才学到东西。