Problema com BUTTON dentro de um DATATABLE

5 respostas
R

Boa noite

O botão que foi feito dentro de meu datatable não está funcionando. Alguém poderia me dizer o motivo???
Quando rodo esse mesmo botão fora de um datatable ele funciona perfeitamente.

Segue o meu código da pagina que possui o datatable:

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<f:view>
<title><h:outputText value="Lista de Colaboradores"></h:outputText></title>
 
<h:form >

<h3><h:outputText value="Lista de Colaboradores"></h:outputText></h3><br><br>

    <h:dataTable border="1" value="#{MgrColaborador.model}"  var="colaborador">

	<h:column >
		<f:facet name="header">
			<h:outputText value="ID" />
		</f:facet>
			<h:outputText value="#{colaborador.idColaborador}"/>
	</h:column>
	
	<h:column >
		<f:facet name="header">
			<h:outputText value="Nome" />
		</f:facet>
			<h:outputText value="#{colaborador.nome}"/>
	</h:column>

	<h:column>
		<f:facet name="header">
			<h:outputText value="E-mail"/>
		</f:facet>
			<h:outputText value="#{colaborador.email}"/>
	</h:column>

	<h:column>
		<f:facet name="header">
			<h:outputText value="Profissão"/>
		</f:facet>
			<h:outputText value="#{colaborador.profissao}"/>
	</h:column>

	<h:column>
		<f:facet name="header">
			<h:outputText value=""/>
		</f:facet>
		<h:commandButton type="button" value="Alterar"
               action="#{MgrColaborador.alterarColaborador}" />
	
	</h:column>	
	
		<h:column>
		<f:facet name="header">
			<h:outputText value=""/>
		</f:facet>
		<h:commandButton type="button" value="Excluir"
               action="#{MgrColaborador.excluirColaborador}" />
	
	</h:column>	
	
    </h:dataTable>
    
	<br><br>

	</h:form>
	
</f:view>

</html>

5 Respostas

rponte

Qual o escopo do seu managed bean? request?

R

Bom dia!
O problema era esse, o meu management bean tinha o escopo request.
Mudei o escopo para session e funcionou perfeitamente.

Obrigado!

Deluxe

vc tem que colocar o command buton dentro de um form
ai funfa
=)

<h:form id=“a”>

</h:form>

nao e aconselhado usar session
coloca o buton dentro do form e muda pra request pra ve se funciona
abras

R

Boa noite!

E qual o motivo disso?

Porque preciso pôr o botão dentro de um form pra funcionar??

É verdade, escopo session não tá dando muito certo aqui na minha aplicação??

Sabe se tem alguma especificação sobre isso nos sites de JSF???

R

Ihhhhhh Não funcionou…

Coloquei o button dentro de um form e nem funcionou… segue o código do datatable abaixo.

<h:dataTable  id="datatableusuario" border="1" value="#{MgrUsuario.usuarios}"  var="usuario">
	
	<h:column >
		<f:facet name="header">
			<h:outputText value="ID" />
		</f:facet>
			<h:outputText value="#{usuario.idUsuario}"/>
	</h:column>

	<h:column >
		<f:facet name="header">
			<h:outputText value="Username" />
		</f:facet>
			<h:outputText value="#{usuario.userName}"/>
	</h:column>
	
	<h:column >
		<f:facet name="header">
			<h:outputText value="Nome" />
		</f:facet>
			<h:outputText value="#{usuario.nome}"/>
	</h:column>

	<h:column>
		<f:facet name="header">
			<h:outputText value="E-mail"/>
		</f:facet>
			<h:outputText value="#{usuario.email}"/>
	</h:column>
	
	<h:column>
		<f:facet name="header">
			<h:outputText value="Perfil"/>
		</f:facet>
			<h:outputText value="#{usuario.perfil}"/>
	</h:column>

	
	<h:column>
		<f:facet name="header">
			<h:outputText value="Ativo?"/>
		</f:facet>
			<h:graphicImage value="/images/#{usuario.ativo}.gif"/>
	</h:column>
	
	<h:column>
		<f:facet name="header">
			<h:outputText value="edit"/>
		</f:facet>
		        <h:form id="botao">
				<h:commandButton type="button" value="Editar" action="#{MgrUsuario.viewDetails}"/>
			</h:form>
	</h:column>	
	
    </h:dataTable>
Criado 7 de junho de 2008
Ultima resposta 8 de jun. de 2008
Respostas 5
Participantes 3