Pregunta

Estoy tratando de hacer algo de validación de la primavera con los mensajes de error en los archivos de propiedades. Pero los ejemplos me parecen todos parecen tener los valores codificados, o recibido de un archivo de propiedades, pero utilizando una clase de validador y recuperar allí.

Mi configuración es un poco diferente. Estoy usando la anotación @Valid en mi requestmapping, y mis usos clase @Valid @NotNull etc. He visto algunos ejemplos en los que la gente hace @NotNull (message = "blablabla"); Pero eso también es codificada de manera no, y me gustaría poner los mensajes en un archivo de propiedades para que pueda editar fácilmente sobre la marcha y para que pueda implementar fácilmente i18n en el futuro.

Cualquier entrada sobre cómo lograr esto sería apreciada.

¿Fue útil?

Solución

Funciona exactamente de la misma manera que con Validator explícita - que declaran un MessageSource y mensajes de error de escritura en archivos .properties. Mensajes códigos se forman como constraintName.modelAttributeName.propertyName:

publib class Foo {
    @NotNull private String name;
    ...
}

.

@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }

messages.properties:

NotNull.foo.name=...

Declaración de MessageSource:

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value = "messages" />
</bean>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top