Я хотел бы проверить, находится ли пользователь, введенный в стране, в списке свойств.
public class CountryValidator implements ConstraintValidator<CountryValid,String> {
@Value("#{countryOptions}")
Map<String, String> countryOptions;
@Override
public boolean isValid(String girilenDeger, ConstraintValidatorContext arg1) {
// TODO Auto-generated method stub
return countryOptions.containsKey(girilenDeger);
}
@Override
public void initialize(CountryValid constraintAnnotation) {
// TODO Auto-generated method stub
ConstraintValidator.super.initialize(constraintAnnotation);
}
}
Однако я успешно использовал этот список ранее в классе контроллера,Я получаю сообщение об ошибке NullPointerException при повторном его использовании в своем классе проверки.
@Controller@RequestMapping("/customerForm")
открытый класс CustomerController {
@Value("#{countryOptions}")
Map<String, String> countryOptions;
@RequestMapping("/mainMenu")
public String returnForm(Model model) {
model.addAttribute("theCountryOptions", countryOptions);
Customer customer1 = new Customer();
model.addAttribute("customer1", customer1);
return "customer-view/main-menu";
}
@RequestMapping("/resultPage")
public String returnResult(@Valid @ModelAttribute("customer1") Customer customer, BindingResult result,
Model model) {
model.addAttribute("theCountryOptions", countryOptions);
if (result.hasErrors())
return "customer-view/main-menu";
else {
AddDatabase<Customer> database = new AddDatabase<Customer>();
database.setObj(customer);
database.addData();
System.out.println("Ekleme islemi tamamlandı.");
return "customer-view/result-page";
}
}
}
Или я могу получить атрибут theCountryOptions измодель?