ReloadableResourceBundleMessageSource

时间:2018-01-09 09:07:41

标签: java spring-mvc

Spring mvc的新手,我试图使用" ReloadableResourceBundleMessageSource"来显示自定义错误消息。从属性文件,但我仍然无法获得自定义消息,我得到的是弹簧默认消息。

我的控制器类: -

public class Controller1 {

    @InitBinder
    public void initMethod(WebDataBinder binder) {
        binder.registerCustomEditor(String.class, "name", new Customproperty());
    }

    @RequestMapping(value = "/frontend/getdetails.htm", method = RequestMethod.GET)
    public ModelAndView getStudentsData(@Valid @ModelAttribute("student") Student student, BindingResult result) {

        if (result.hasErrors()) {
            ModelAndView model = new ModelAndView("input");
            return model;
        }

        else {
            ModelAndView model = new ModelAndView("output");
            return model;
        }

    }

我的模特课: 其中大小变量已经过验证。

public class Student {

    private String name;
    private int age;
    @Size(min = 5, max = 15)
    private String address;
    private String hobby;
    private String email;
    }

Spring Xml文件: -

<bean id="messages"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="/WEB-INF/errormessages"></property>
    </bean>

属性文件(/ SpringLearning_9dec / WebContent / WEB-INF / errormessages.properties): -

Size.student.address = address should be with in 44 to 44 characters.

PFA屏幕截图: - program

1 个答案:

答案 0 :(得分:0)

实际上,我不确定,id似乎存在用于ReloadableResourceBundleMessageSource属性的问题。正如ReloadableResourceBundleMessageSource的文档中所述,它是public interface MessageSource的实现。因此,它的两个实现类ReloadableResourceBundleMessageSourceResourceBundleMessageSource都应该具有与接口messageSource相同的ID。

我认为在寻找接口MessageSource的实现时,Spring会查找标识为messageSource且实现类为ResourceBundleMessageSourceReloadableResourceBundleMessageSource的bean。