Como limpar minha dataTable

2 respostas
F

Olá pessoal!
Possuo uma pagina em jsf, nessa pagina eu entro com valores q quero inserir em meu banco. Gostaria de saber como é q faço q quando clicar no botão para inserir limpe a dataTable!

Caso alguém possa me ajudar obrigada!!

a pagina em jsf
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<html>
<head>
<title>Inserir</title>
</head>
<body>
<f:view>
	<h:form>
		<h2>Inserir Funcionario</h2>
		<h3>Entre com os dados do funcionario:</h3>
		<table>
			<tr>
				<td>Nome:</td>
				<td><h:inputText value="#{procedimentos.funcionario.nome}" /></td>
			</tr>
			<tr>
				<td>Cargo:</td>
				<td><h:inputText value="#{procedimentos.funcionario.cargo}" /></td>
			</tr>
			<tr>
				<td>Salario:</td>
				<td><h:inputText value="#{procedimentos.funcionario.salario}" /></td>
			</tr>
			<tr>
				<td>Horas Extras:</td>
				<td><h:inputText
					value="#{procedimentos.funcionario.horasExtras}" /></td>
			</tr>
		</table>
		<table>
			<tr>
				<td colspan="2"><h:commandButton value="Inserir"
					action="#{procedimentos.inserirFuncionario}" /></td>
			</tr>
			<tr></tr>
			<tr>
				<td><h:outputLink value="listaFuncionario.faces">
					<f:verbatim>Listar Tabela</f:verbatim>
				</h:outputLink></td>
			</tr>
		</table>
	</h:form>
</f:view>
</body>
</html>

2 Respostas

robinsonbsilva

Jovem, eu não manjo muito de JSF, mas após o submit deste form voce poderia setar esse bean “procedimentos” nulo, ou remover esse atributo

Mantu

Creio que não há como fazer isso, robinsonbsilva…

Quanto ao problema: Suponho que a colega tenha um BackingBean chamado Procedimentos (ou algo assim).
Nesse bean, suponho que haja um campo chamado funcionario, de um tipo Funcionario (ou algo assim).
Você tem que ter em mente o seguinte: Quando você atrela um inputText a um campo de um backing bean e este bean está no escopo de sessão (O que deve ser o seu caso), essa ligação persiste mesmo após o submit. Isso quer dizer que, por exemplo, quando você dá o submit, o campo nome do campo funcionario do seu backing bean vai receber (set) o valor escrito no input text “Nome:”. E quando a tela for recarregada, o valor que estiver no campo nome do campo funcionario do seu backing bean vai ser recuperado (get) e colocado no campo “Nome:” da tela.
Se você não “limpar” os campos do campo funcionário, vai ser exibido na tela sempre as ultimas informações submetidas.
O que se pode fazer é uma das duas:

  1. No seu backing bean, após utilizar os dados obtidos da tela, limpar cada um dos campos do campo funcionario.
  2. No seu backing bean, após utilizar os dados obtidos da tela, re-instanciar o campo funcionario (Cuidado com essa opção, pois se não tomar alguns cuidados, vais tomar um monte de null pointer exception…).
Criado 16 de julho de 2008
Ultima resposta 16 de jul. de 2008
Respostas 2
Participantes 3