Spring MVC - чтение файла свойств с использованием Java Configuration - PullRequest
0 голосов
/ 05 апреля 2020

Не удалось прочитать значения из файла .properties из-за исключительной ситуации (org.springframework.expression.spel.SpelEvaluationException: EL1008E: Не найдено свойство или поле 'genoOptions')

I настроили свойство заполнителя. В моем файле свойств есть две записи (M = MALE, F = FEMALE). Я хотел заполнить этот список списком параметров во время отправки формы.

@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
    return new PropertySourcesPlaceholderConfigurer();
}

@Controller
@RequestMapping("/player")
@PropertySource(ignoreResourceNotFound = true, value = 
"classpath:gender.properties")
public class PlayerController {

@Value("#{genderOptions}") 
public Map<String, String> genderOptions;

@RequestMapping("/playerForm")
public String showPlayerForm(Model model) {

    Player player = new Player();
    model.addAttribute("player", player);
    model.addAttribute("genderOptions", genderOptions);
    return "player-form";
}

1 Ответ

1 голос
/ 05 апреля 2020

Если вы хотите использовать пол-варианты в качестве Map в контроллере, то сначала вам нужно указать его в виде значения ключа в gender.properties файле.

genderOptions = {M:'Male', F:'Female'}

И Получая доступ к нему в контроллере, вам нужно внести следующие изменения, чтобы Spring мог привести его к Map.

@Value("#{${genderOptions}}")
private Map<String, String> mapValues;

И если вам нужно получить значение указанного c ключа на карте все, что вам нужно сделать, это добавить имя ключа в выражение:

@Value("#{${genderOptions}.M}")
private String maleKey;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...