Acceso al atributo con argumento de archivo.properties en la clase Java
-
09-12-2019 - |
Pregunta
Déjame explicar lo que quiero hacer:
Tengo propiedades que contienen una propiedad como esta:
message=Hello {0}, welcome.
Me gustaría acceder a esta propiedad en una clase de Java con una cadena y establecer el parámetro en esa clase.
Ya he usado FMT: Mensaje y FMT: Param para mostrar este tipo de propiedad en un JSP, pero quiero manipularlo en un objeto Java ahora (ya sé cómo inyectar una propiedad en la clase).
¿Alguna idea de cómo hacer esto?
Solución
Puede usar java.util.resourcebundle y java.text.messageformat
Algunos ejemplos
private String getString( String bundle, String key, String defaultValue, Object... arguments ){
String result = ResourceBundle.getBundle( bundle ).getString( key );
if ( result == null ){
result = defaultValue;
}
if ( arguments.length > 0 && result != null ){
result = MessageFormat.format( result, arguments );
}
return result;
}