Olá a todos!
Comecei com jsf e primefaces há uma semana e tenho muitas dúvidas. Uma delas é:
Se quando eu uso por exemplo um datatable e coloco em cada linha um link alterar e outro excluir, se eu preciso colocar no link algum parâmetro.
Exemplo. Eu tenho um datatable com dados do usuário.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Lista de Usuários</title>
<style>
.ui-widget,
.ui-widget .ui-widget {
font-size: 12px !important;
}
</style>
</h:head>
<h:body>
<ui:include src="menu.xhtml"/>
<br/>
<p:panel header="Lista de Usuários do Sistema">
<br/>
<h:form prependId="false">
<p:dataTable id="dataTable" value="#{usuariosBean.lista}" var="usuario"
paginator="true" rows="20"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15" style="text-align:center;">
<p:column style="width:120px;">
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{usuario.id}" />
</p:column>
<p:column style="width:500px;">
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{usuario.nome}" />
</p:column>
<p:column style="width:250px;">
<f:facet name="header">
<h:outputText value="Status" />
</f:facet>
<h:outputText value="#{usuario.status}" />
</p:column>
<p:column style="width:250px;">
<f:facet name="header">
<h:outputText value="Data de cadastro" />
</f:facet>
<h:outputText value="#{usuario.dtCadastro}" />
</p:column>
<p:column style="width:40px;">
<f:facet name="header">
<h:outputText value="Editar" />
</f:facet>
<h:commandLink action="#" />
</p:column>
<p:column style="width:40px;">
<f:facet name="header">
<h:outputText value="Excluir" />
</f:facet>
<h:commandLink action="#" />
</p:column>
</p:dataTable>
</h:form>
</p:panel>
</h:body>
</html>
E tenho o UsuarioBean:
package classe.controle.Beans;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import classe.modelo.dao.UsuarioDao;
import classe.modelo.vo.Usuario;
@ManagedBean(name = "usuarioBean")
@RequestScoped
public class UsuariosBean {
private static Usuario usuario = new Usuario();
private ArrayList<Usuario> lista;
public void inserir() {
UsuarioDao userdao = new UsuarioDao();
try {
userdao.inserir(usuario);
} catch (SQLException e) {
e.printStackTrace();
}
}
public ArrayList<Usuario> getLista() {
lista = UsuarioDao.listar();
return lista;
}
public void setUsuario(Usuario usuario) {
UsuariosBean.usuario = usuario;
}
public Usuario getUsuario() {
return usuario;
}
}
Se tenho que passar o id do usuário para alterar ou excluir, como devo passar e como devo pegá-lo no bean?
Já olhei vários vídeos e tutoriais mas nada sanou minha dúvida.
Obrigado a todos!