galera
tenho um dataTable onde lista todos os dados do banco, e gera um link 'Alterar' para cada dado..
eu cliko em alterar, ele chama a pagina de edição, eu altero e cliko no botão Alterar.. após isso...
todo o banco é alterado, todo os dados com o mesmo nome.. era so pra alterar o dado de onde eu cliquei no link..
Pagina que lista:
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<HTML>
<HEAD>
<title>Lista de Usuarios</title>
<LINK href="estilo.css" type="text/css" rel="stylesheet">
</HEAD>
<body bgcolor="white">
<center><h2>LISTA DE USUARIOS</h2></center>
<div align=center>
<f:view><br><h:dataTable value="#{usuarios.lista}" var="usuarios">
<h:column>
Login: |<h:outputText value="#{usuarios.nome}"/>
</h:column>
<h:column>
Nome:<h:outputText value="#{usuarios.login}"/>
</h:column>
<h:column>
<h:form>
<h:commandLink value="Alterar" action="alterar">
<f:param name="nome" value="#{usuarios.nome}"></f:param>
<f:param name="login" value="#{usuarios.login}"></f:param>
</h:commandLink>
</h:form></h:column>
</h:dataTable>
</f:view>
</div>
</body>
</HTML>
Pagina Que altera
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<head>
<title>JSF</title>
<link href="estilo.css" type="text/css" rel="stylesheet">
</head>
<body>
<f:view>
<h:form>
<center><h2> Alterar Dados </h2></center>
<table align="center">
<tr>
<td>Nome:</td>
<td><h:inputText value="#{usuarios.nome}"/></td>
</tr>
<tr>
<td>Login:</td>
<td><h:inputText value="#{usuarios.login}"/></td>
</tr>
<tr>
<tr><td colspan="2" align="center">
<h:commandButton value="Alterar" action="#{usuarios.altera}"/>
</td>
</tr>
<tr>
<td colspan="2">
<h:outputText id="resultado" value="#{usuarios.status}" />
</td>
</tr>
</table>
</h:form>
</f:view>
</body>
</html>
Pq ele ta atualizando todo o banco e não só a linha que eu escolhi?