Pessoal, tenho um formulario de cadastro e quero exibir uma mensagem de “Cadastro realizado com sucesso” na mesma pagina. O problema é que está dando erro quando passo o parametro.
cadastro.jsf
<h:outputText value="#{produtoBean.mensagemsucesso}" /
//formulario
//...
<h:commandButton value="Finalizar cadastro" action="#{produtoBean.finalizarCadastro}" />
meubean
public String finalizarCadastro(){
//Realiza o cadastro
//...
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().put("mensagem", "Cadastro realizado com sucesso"); // Erro nesta linha
return "atualizarPagina";
}
private String mensagemsucesso = "";
public String getMensagemsucesso() {
return FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("mensagem");
}
Erro:
//...
root cause
javax.faces.el.EvaluationException: java.lang.UnsupportedOperationException
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
root cause
java.lang.UnsupportedOperationException
java.util.Collections$UnmodifiableMap.put(Collections.java:1285)
beans.ProdutoBean.adicionarProdutoPendente(ProdutoBean.java:170)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
//...
Se alguem souber resolver ou alguma forma melhor de resolver meu problema peço que me informe
Desde já obrigado