Невозможно разрешить сообщения Hibernate Validator - PullRequest
1 голос
/ 31 января 2011

По какой-то причине я не могу разрешить сообщения Hibernate Validator. В моем applicationContext.xml есть следующее:

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>properties.message</value>
            <value>org.hibernate.validator.ValidationMessages</value>
        </list>
    </property>
</bean>

Я использую <spring:message> для разрешения кода сообщения. К сожалению, я получаю следующее исключение:

javax.servlet.jsp.JspTagException: No message found under code 'org.hibernate.validator.constraints.NotBlank.message' for locale 'en_US'.
    org.springframework.web.servlet.tags.MessageTag.doStartTagInternal(MessageTag.java:184)
    org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_spring_005fmessage_005f0(generate_002dvalidation_tag.java:645)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fset_005f4(generate_002dvalidation_tag.java:611)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fif_005f1(generate_002dvalidation_tag.java:569)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fforEach_005f2(generate_002dvalidation_tag.java:505)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fforEach_005f1(generate_002dvalidation_tag.java:417)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fforEach_005f0(generate_002dvalidation_tag.java:328)
    org.apache.jsp.tag.web.generate_002dvalidation_tag._jspx_meth_c_005fif_005f0(generate_002dvalidation_tag.java:197)
    org.apache.jsp.tag.web.generate_002dvalidation_tag.doTag(generate_002dvalidation_tag.java:109)
    org.apache.jsp.WEB_002dINF.jsp.starship.create_jsp._jspx_meth_regula_005fgenerate_002dvalidation_005f0(create_jsp.java:1027)
    org.apache.jsp.WEB_002dINF.jsp.starship.create_jsp._jspService(create_jsp.java:598)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Когда я заглянул внутрь hibernate-validator-4.1.0-final.jar, я нашел ValidationMessages.properties в org/hibernate/validator/, поэтому я не уверен, почему он не может разрешить сообщение.

UPDATE

Я скопировал ValidationMessages.properties в src/main/webapp/WEB-INF/classes/properties и изменил мой applicationContext.xml:

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>properties.message</value>
            <value>properties.ValidationMessages</value>
        </list>
    </property>
</bean>

Но у меня та же проблема. Проблема связана с локалью?

1 Ответ

2 голосов
/ 01 февраля 2011

Первоначальные версии Spring 3.0.x были местами немного шаткими, и новый материал для валидации был особенно подвержен этому.

Я рекомендую перейти на текущий выпуск (3.0.5 на момент написания статьи)., что значительно меньше ошибок, чем в предыдущих выпусках 3.0.x).

Вы также можете выполнить тест через SpringSource JIRA , чтобы увидеть, есть ли какие-либо проблемы, влияющие на звук 3.0.2 и 3.0.3как ваша конкретная проблема.

...