Dúvidas sobre checkBox

3 respostas
Victor_Almeida

Ainda não sei utilizar muito bem as tags JSF para checkBox.

Mas queria uma ajuda pra decidir qual tag utilizar. Minha situação é a seguinte. Preciso selecionar um checkbox de uma lista de 5. Por exemplo:

São cinco alternativas:

[checkbox] a) . . .
[checkbox] b) . . .
[checkbox] c) . . .
[checkbox] d) . . .
[checkbox] e) . . .

Só quero que uma delas seja escolhida e quando uma for escolhida as outras não poderão ser.
Como posso fazer esse controle.

Uso a tag <h: selectManyCheckbox>
ou <h: selectBooleanCheckbox>

Me ajuda por favor

Valeu

3 Respostas

thiago.correa

Então é melhor utilizar <h:selectOneRadio>

S

Já tentou com Jquery?
Procure no google algo do tipo: Jquery com Checkbox.

Boa sorte!

Victor_Almeida
thiago.correa:
Então é melhor utilizar <h:selectOneRadio>

Tiago, achei que a melhor solução seria utilizar um selectOneRadio mesmo, porém, quando tentou ligar à propriedade de meu bean não soube como fazer:

Fiz assim, mas tá dando erro
&lt;f:view &gt;
										
										&lt;h:form&gt;	
		                				
		                				&lt;h:messages/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.objetiva.comando}"/&gt;<br/>
		                				&lt;h:outputText value="#{avaliacaoAluno.objetiva.textoComplementar}"/&gt;
		                				<br/>
		                				<br/>	                				
		             	                				
		                				&lt;h:outputText value="(A)"/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.a}"/&gt;
		                				<br/>
		                				<br/>            				
		                				&lt;h:outputText value="(B)"/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.b}"/&gt;
		                				<br/>
		                				<br/>
		                				&lt;h:outputText value="(C)"/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.c}"/&gt;
		                				<br/>
		                				<br/>
		                				&lt;h:outputText value="(D)"/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.d}"/&gt;
		                				<br/>
		                				<br/>
		                				&lt;h:outputText value="(E)"/&gt;
		                				&lt;h:outputText value="#{avaliacaoAluno.e}"/&gt;
		                				<br/>
		                				<br/>
		                					
		                				&lt;h:selectOneRadio id="alternativa" value="#{avaliacaoAluno.questaoResposta.resposta}"&gt;
		                					&lt;f:selectItem itemLabel="A" value="A" /&gt;
		                					&lt;f:selectItem itemLabel="B" value="B" /&gt;
		                					&lt;f:selectItem itemLabel="C" value="C" /&gt;
		                					&lt;f:selectItem itemLabel="D" value="D" /&gt;
		                					&lt;f:selectItem itemLabel="E" value="E" /&gt;
		                				&lt;/h:selectOneRadio&gt;			                			
		                			&lt;/h:form&gt;
										
																	
									
									&lt;/f:view&gt;
e dá o seguinte erro
12/10/2010 08:51:52 org.ajax4jsf.webapp.BaseXMLFilter doXmlFilter
SEVERE: Exception in the filter chain
javax.servlet.ServletException: java.lang.String cannot be cast to javax.faces.model.SelectItem
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
	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:178)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
	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:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to javax.faces.model.SelectItem
	at com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:189)
	at com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135)
	at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:130)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:420)
	at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:209)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
	... 18 more
12/10/2010 08:51:52 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassCastException: java.lang.String cannot be cast to javax.faces.model.SelectItem
	at com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:189)
	at com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135)
	at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:130)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:420)
	at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:209)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
	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:178)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
	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:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Pode dar uma olhada?

Valeu

Criado 11 de outubro de 2010
Ultima resposta 12 de out. de 2010
Respostas 3
Participantes 3