Olá,
Preciso de ajuda para compreender o porque parou de funcionar o meu resource quando usado com parametros.
Segue o código:
public static ActionMessages adicionarMensagem(String msgKey,
String bundleName, String[] paramKeys, String bundleNameParams,
ActionMessages msgs, HttpServletRequest request) {
MessageResources mr = null;
if (bundleNameParams != null) {
ServletContext application = request.getSession()
.getServletContext();
mr = Resources.getMessageResources(application, request,
bundleNameParams);
} else {
mr = Resources.getMessageResources(request);
}
if (paramKeys != null) {
String[] params = paramKeys;
if (bundleNameParams != null) {
params = new String[paramKeys.length];
for (int i = 0; i < paramKeys.length; i++) {
if (mr.isPresent(paramKeys[i])) {
params[i] = mr.getMessage(paramKeys[i]);
} else {
params[i] = paramKeys[i];
}
}
}
msgs.add(ActionMessages.GLOBAL_MESSAGE, new MensagemAction(msgKey,
params, bundleName));
} else {
msgs.add(ActionMessages.GLOBAL_MESSAGE, new MensagemAction(msgKey,
bundleName));
}
return msgs;
}
Parou de funcionar apenas quando eu enviou uma mensagem com parametros. Apenas o parametro que nao encontra.
No codigo “mr.isPresent(paramKeys[i])” não encontra no resource a palavra passada, mais ao debugar eu vejo que o MessageResources carregado esta correto e a chave que esta sendo procurada esta dentro desse resource.
Alguém sabe?
Att,