Problemas com edit em um dataTable

0 respostas
Deluxe

Galera tenho um dataTable que lista todos os nomes de cliente do banco..
a cada usuario listado, gera um botão excluir e editar do lado.. to tendo problemas com ambos.. mas creio se resolver o de editar, conseguirei o de excluir..
quando cliko no botao editar.. chama outra pagina.. mas os dados estão passando pro outro lado tudo zerado e null, assim ele so chama o id = 0, no banco e nunca altera e nem excluir.. alguem pode me falar como posso fazer essa passagem de parametro? ja tentei com param, inputHiden e com o tomahalk usando o updatelist tive problema com a uri e os jars.. creio eu que o updatelist seria mais facil.. mas queria fazer com parametro..
vo postar os codigos>

O problema `e que quando eu cliko em editar.. ta passando os valores tudo null incluseve a chave primaria (idusuario), dai nao da pra alterar..

PAGINA QUE LISTA E GERA O BOTAO ALTERAR DO LADO

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



<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<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="#{usuarioBean.todos}"  var="usuario">

			
			<h:column>
			
			<b>USUARIO</b>	<h:outputText value="#{usuario.nome}"/>
			
			</h:column>
			
				<h:column>
				<h:form id="del">
					<h:commandLink id="idusuario" value="X" action="#{usuarioBean.alterarUsuario}" > 
					<f:param name="idusuario" value="#{usuario.idusuario}"></f:param>
				</h:commandLink>
						</h:form>	
		 	</h:column>

		</h:dataTable>
		
		 <h:form id="dummy" >
		 <h:commandButton id="novo" value="Novo Usuario"  action="#{usuarioBean.novoUsuario}" />    
		 </h:form>
		</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" %>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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=UTF-8">
        <title>Alterando Novos Usuarios</title>
    </head>

    <body>
        <h2>Alterar Usuario</h2>

      <f:view>
      <h:form id="cadastro">
      <h:panelGrid columns="2">
      
       
  
      <h:outputText value=""/>
      <h:outputText value="#{usuarioBean.usuarioPojo.idusuario} "/>
    
      
        <h:outputText value="Nome:"/>
      <h:inputText size="25" id="nome" value="#{usuarioBean.usuarioPojo.nome}" />

      <h:outputText value="Login:"/>
     <h:inputText size="25" id="login" value="#{usuarioBean.usuarioPojo.login}"/>

      <h:outputText value="Senha:"/>
      <h:inputSecret size="15" id="senha" value="#{usuarioBean.usuarioPojo.senha}"/>

      
      </h:panelGrid>

      <h:commandButton value="Alterar" action="#{usuarioBean.update}" />
      <h:commandButton value="Cancelar" action="mostrar" />

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

MetodoBean

public String update()throws UsuarioDAOException {
    	
        InterfaceUsuarioDAO icdao = new UsuarioDAO();
        icdao.atualizar(usuarioPojo);
        return "sucesso_up";
    }

MetodoDAO

public void atualizar(UsuarioPojo usuarioPojo) throws UsuarioDAOException {
    	
        PreparedStatement ps = null;
        Connection conn = null;
        
        if(usuarioPojo == null)
            throw new UsuarioDAOException("O Valor passado não pode ser lido");
        try {
            String sql = "update usuarios set nome = ?, login=?,  senha =? where idusuario=?";

            conn = this.conn;
            ps = conn.prepareStatement(sql);
            
            ps.setInt(1, usuarioPojo.getIdusuario());
            ps.setString(2, usuarioPojo.getNome());
            ps.setString(3, usuarioPojo.getLogin());
            ps.setString(4, usuarioPojo.getSenha());
          
            ps.executeUpdate();

        } catch (Exception sqle) {
        	
        throw new UsuarioDAOException("Erro ao inserir dados" + sqle);

Ainda tem o pojo mais acho que nao 'e necessario, s'o 'e declaracao de variavel e sets e gets

alguem me ajuda?
exemplos?

Criado 3 de junho de 2008
Respostas 0
Participantes 1