Los valores de archivo .properties no podían leer debido a excepción (org.springframework.expression.spel.SpelEvaluationException: EL1008E: Propiedad o 'genderOptions' de campo no pueden ser encontrados)
He configurado el marcador de posición propiedad. Mi archivo de propiedades es tener dos entradas (M = Masculino, F = femenino) que querían poblar esto como una lista de opciones en la casilla de verificación al enviar el formulario.
@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";
}
Si desea utilizar como genderOptions Mapa de Controlador primer lugar es necesario especificar en siguiente sintaxis en el archivo de gender.properties.
genderOptions={M:'Male',F:'Female'}
Y mientras se accede a ella en el controlador que necesita para hacer cambios siguientes con el fin de permitir que la primavera lo echó en Mapa
@Value("#{${genderOptions}}")
private Map<String,String> mapValues;
Y si es necesario para obtener el valor de una clave específica en el mapa, todo lo que tiene que hacer es añadir el nombre de la clave en la expresión:
@Value("#{${genderOptions}.M}")
private String maleKey;
Espero que esto ayude.