GET e afins

4 views
Skip to first unread message

Felix Coutinho

unread,
Feb 12, 2008, 9:07:39 AM2/12/08
to jav...@googlegroups.com
Senhores,
tenho um cadastro que envia um email de confirmação para o usuário. A
pessoa recebe o seguinte link:
http://localhost:8080/soc/cadastro/formularioConfirmacao.jsf?id=9

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/

Rafael Ponte

unread,
Feb 12, 2008, 9:25:47 AM2/12/08
to jav...@googlegroups.com
Use o #{param.id} na configuração do teu managed bean no faces-config.xml, basta setar o propety com o #{param.id}, assim você poderá usar o
<h:inputHidden id="id" value="#{bean.id}" />
Reply all
Reply to author
Forward
0 new messages