Pegar valor da coluna com radio

Boa tarde !

Tenho uma rich:dataTable com um input type=“radio” com duas colunas, fora a do radio .
Preciso pegar os dados que se encontra nas colunas .

Alguém sabe me ajudar ?

Mas o que você gostaria de fazer?
Ao clicar no radio, pegar o valor da linha?

Isso, ao clicar no radio pegar o valor de duas colunas … não consigo nem ferrando cara :S

Mande o código da sua rich:dataTable para vermos.
É bem simples.

Segue minha dataTable



<rich:dataTable border="2" rowKeyVar="index" style="width: 500px;margin-left: 270px;margin-top: 20px;text-align: left;color: blue;"
						value="#{funcionarioBean.funcionarioList}" var="funcionario" id="listarFunc1" rows="10">
					
						 <rich:column style="text-align: center;width: 40px;">
							<h:outputText style="margin-top: 20px;text-align: center;" />
							<h:outputText style="margin-top: 20px;text-align: center;" />
							<f:verbatim>
							<input type="radio" name="myRadio" id="myRadio" value="#funcionarioBean.funcionarioIndex}"/> 
</h:inputHidden> --%>
						</f:verbatim>
					 	</rich:column>
						<f:facet name="header">
							<h:outputText style="text-align: center;" value="FUNCIONARIOS" />
						</f:facet>
						<rich:column style="text-align: center;">
							<f:facet name="header">
								<h:outputText value="Nome"
									style="margin-top: 20px;text-align: center;" />
							</f:facet>
							<h:outputText style="text-align: center;color: black;"
								value="#{funcionario.nome}" />
						</rich:column>

						<rich:column>
							<f:facet name="header">
								<h:outputText value="Ramal" style="text-align: center;" />
							</f:facet>
							<h:outputText style="text-align: center;color: black;"
								value="#{funcionario.ramal}" />
						</rich:column>
					</rich:dataTable>


O que você pode fazer é, colocar um evento no onclick do radioButton:

&lt;input type="radio" name="myRadio" id="myRadio" value="#{funcionarioBean.funcionarioIndex}"&gt; 
       &lt;a4j:support
		event="onclick"
		actionListener="#{seuMB.seuMetodo}" /&gt;
&lt;/input&gt;

e dentro do seu MB:


public void seuMetodo(ActionEvent evt) {
    SeuBean bean = (SeuBean) getRequestMap().get("funcionario"); //onde funcionario é no valor que você colocou na propriedade var do dataTable
}

Dessa forma você tem o seu objeto Funcionário e pode trabalhar da maneira que quiser.

O que seria esse getRequestMap ? ele não reconhece, e nem deixa importar …

Esqueci de colocar a linha toda.


FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("funcionario");

Ele acusa, que não aceita o value do input .

por que será ?

Segue o erro .


org.apache.jasper.JasperException: /buscar.jsp(74,64) #{...} is not allowed in template text
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:728)
	org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1789)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:365)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:345)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:342)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
	com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.8 logs.


eu tiro o value e do um system.out.print … no bean , ele vem null

[quote=vitaoDev]Ele acusa, que não aceita o value do input .

por que será ?

Segue o erro .

[code]

org.apache.jasper.JasperException: /buscar.jsp(74,64) #{…} is not allowed in template text
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:728)
org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1789)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:365)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:345)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:342)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.8 logs.

[/code][/quote]

Me mande como ficou sua dataTable.

Segue a dataTable e abaixo o bean !


	<rich:dataTable border="2" rowKeyVar="index" style="width: 500px;margin-left: 270px;margin-top: 20px;text-align: left;color: blue;"
						value="#{funcionarioBean.funcionarioList}" var="funcionario" id="listarFunc1" rows="10">
					
						 <rich:column style="text-align: center;width: 40px;">
							<h:outputText style="margin-top: 20px;text-align: center;" />
							<h:outputText style="margin-top: 20px;text-align: center;" />
							<f:verbatim>
							<input type="radio" name="myRadio" id="myRadio">
								<a4j:support event="onclick" actionListener="#{funcionarioBean.excluir}" />
							</input>
						</f:verbatim>
					 	</rich:column>
						<f:facet name="header">
							<h:outputText style="text-align: center;" value="FUNCIONARIOS" />
						</f:facet>
						<rich:column style="text-align: center;">
							<f:facet name="header">
								<h:outputText value="Nome"
									style="margin-top: 20px;text-align: center;" />
							</f:facet>
							<h:outputText style="text-align: center;color: black;"
								value="#{funcionario.nome}" />
						</rich:column>

						<rich:column>
							<f:facet name="header">
								<h:outputText value="Ramal" style="text-align: center;" />
							</f:facet>
							<h:outputText style="text-align: center;color: black;"
								value="#{funcionario.ramal}" />
						</rich:column>
					</rich:dataTable>

bean


	public String excluir(ActionEvent evt){
		
		 FuncionarioBean bean = (FuncionarioBean)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("funcionario");
		 System.out.println(bean);
	

Tente colocar o método com retorno void

com o value, continuo o erro … ai eu tirei o value novamente ele continua vindo null
o que será que pode ser ? :?

você colocou:

public void excluir(ActionEvent evt){  ...

aram, passei para void … e o import foi esse


import javax.faces.event.ActionEvent;