O id na URL eh uma assinatura necessária para associar se o
email/senha que a pessoa vai informar realmente eh da confirmação que
foi enviada.
No meu formulario, tentei assim:
<h:inputHidden id="id" value="#{param.id}"></h:inputHidden>
Ele consegue atribuir o valor corrento ao campo input hidden.
Soh que pelo que parece o valor não consegue ser passado ao managed
para a propriedade que ele pertence.
public class ConfirmacaoForm{
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
........
Assim eu recebo o seguinte trace apos o erro:
-------------------------------------------------------------------------------------------------------------------------------
12/02/2008 10:59:32 javax.faces.component.UIInput updateModel
SEVERE: /cadastro/formularioConfirmacao.jsp(38,2) '#{param.id}'
java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableMap.put(Collections.java:1285)
at javax.el.MapELResolver.setValue(MapELResolver.java:90)
at javax.el.CompositeELResolver.setValue(CompositeELResolver.java:68)
at com.sun.faces.el.FacesCompositeELResolver.setValue(FacesCompositeELResolver.java:101)
at org.apache.el.parser.AstValue.setValue(AstValue.java:114)
at org.apache.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
at org.apache.jasper.el.JspValueExpression.setValue(JspValueExpression.java:85)
at javax.faces.component.UIInput.updateModel(UIInput.java:771)
at javax.faces.component.UIInput.processUpdates(UIInput.java:703)
at javax.faces.component.UIForm.processUpdates(UIForm.java:261)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1070)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:717)
at org.ajax4jsf.component.AjaxViewRoot.access$101(AjaxViewRoot.java:57)
at org.ajax4jsf.component.AjaxViewRoot$2.invokeRoot(AjaxViewRoot.java:291)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
at org.ajax4jsf.component.AjaxViewRoot.processUpdates(AjaxViewRoot.java:305)
at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[WARN][org.richfaces.skin.SkinFactoryImpl]<Init parameter for a skin
name changed to org.richfaces.SKIN>
12/02/2008 10:59:33 com.sun.faces.lifecycle.RenderResponsePhase execute
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have
been displayed.
sourceId=confirmacaoForm:id[severity=(ERROR 2),
summary=(/cadastro/formularioConfirmacao.jsp(38,2) '#{param.id}'
java.lang.UnsupportedOperationException),
detail=(/cadastro/formularioConfirmacao.jsp(38,2) '#{param.id}'
java.lang.UnsupportedOperationException)]
-------------------------------------------------------------------------------------------------------------------------------
Se alguem souber como resolver isso ficaria grato da ajuda.
abraços
--
Felix Coutinho
http://skynet45.wordpress.com/