gpt4 book ai didi

java - ReloadableResourceBundleMessageSource

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:08 25 4
gpt4 key购买 nike

Spring mvc 新手,我尝试使用属性文件中的“ReloadableResourceBundleMessageSource”显示自定义错误消息,但仍然无法获取自定义消息,我得到的是 spring 默认消息。

我的 Controller 类:-

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

最佳答案

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

我认为在寻找接口(interface) MessageSource 的实现时,Spring 会查找 id messageSource 且实现类为 ResourceBundleMessageSourceReloadableResourceBundleMessageSource 的 bean。

关于java - ReloadableResourceBundleMessageSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48164637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com