Boa noite pessoal,
Estou utilizando resource bundle na minha aplicação e tenho q alterar valores no controlador p/properties e não estou conseguindo.
[code]public class Message {
private static final String PATH_MENSAGENS = "/mensagens";
private static ResourceBundle bundle;
public static String getBundleMessage(String codigo) {
if(bundle==null){
bundle = ResourceBundle
.getBundle(PATH_MENSAGENS);
}
String message;
message = bundle.getString(codigo);
return message;
}[/code]
Pego os valores dessa meneira! Mas preciso substituir uma entrada abaixo pelo nome do usuário
form.opcao.acao={0}, selecionou a opção {1} . /n Para…
Poderiam me dar uma dica por favor!? obrigado
Isso aqui que voce que amigo
Properties props = new Properties();
try {
props.load( new FileInputStream( file ) );
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
enderecoBD= props.getProperty( "enderecoBD" );
?
Você quer substituir os placeholders pelo valor específico da mensagem? Você está fazendo isso na mão?
Já tentou usar replaceAll ou replaceFirst? Expressões regulares caem como uma luva nessa situação.
Creio q replace não seria a melhor solução, já q a mesma msg no resourcebndle pode ter 1 ou + parametros para realizar o placeHolder!
P/pegar o resourcebundle com a mensagem, já esta funcionando perfeitamente! O problema é passar os parametros!!
Ué… não entendi o por que não funcionaria. Você pega a String, um array de parâmetros, e substitui o índice pelo valor.
Você pode usar o MessageFormat:
MessageFormat.format("{0}, selecionou a opção {1} .","Victor Magno","2"));
[quote=victormagno]Você pode usar o MessageFormat:
MessageFormat.format("{0}, selecionou a opção {1} .","Victor Magno","2"));
[/quote]
Uau hahahaa, nada como usara roda que já inventaram. Não sabia dessa não 