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
[code]
<%@ 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”%>
Lista de UsuariosLISTA DE USUARIOS
<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>
Pagina que Altera
[code]
<%@ 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”%>
Alterando Novos Usuarios<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>
[/code]
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?