Dúvida com JavaServer Faces!

1 resposta
F

Tenho o seguinte método em uma classe q se chama NivelMaturidade:

public String excluir(){
		Connection con = Conexao.getConnection();
		String sql = "delete from public.nivelmaturidade where                     idnivelmat = '"+getId()+"'";
		
		try {
			Statement stm = con.createStatement();
                        stm.executeUpdate(sql);
			stm.close();
			con.close();
                        return "Sucesso";
			
		} catch (SQLException e) {
			e.printStackTrace();
			return "Falha";
			
		}
		
	}
e na página a seguinte data table:

<h:dataTable align="center" width="100%" border="0" var="niveis" value="#{NivelBD.allNivel}" rowClasses="Row1,Row2">
												<!--Coluna do ID -->
												<h:column>
													<f:facet name="header">
														<h:outputText value="ID"/>
													</f:facet>
													<h:outputText value="#{niveis.id}"/>
												</h:column>
												
												<!--Coluna da descrição -->
												<h:column>
													<f:facet name="header">
														<h:outputText value="Descrição"/>
													</f:facet>
													<h:outputText value="#{niveis.nome}"/>
												</h:column>
												
												<!--Coluna da oparação -->
												<h:column>
													<f:facet name="header">
														<h:outputText value="Operação"/>
													</f:facet>
													<h:commandLink action="#{Nivel.alterar}" styleClass="link">

<h:outputText value="Alterar"/>									

</h:commandLink>
													<h:outputText value=" | "/>
													<h:commandLink  action="#{Nivel.excluir}" styleClass="link">
														<h:outputText value="Excluir"/>
													</h:commandLink>
												</h:column>
														</h:dataTable>

Nessa data table é listado algo como seguinte:

ID Descrição Operação
1 Teste Alterar | Excluir
5 Novo teste Alterar | Excluir
.
.
.
.

A dúvida é o seguinte. Gostaria de saber como faço para quando clicar no link excluir, ser passado o ID do registro q esta sendo excluido para o bean q contem o método excluir, para q o banco exclua o registro conforme o ID passado?

1 Resposta

ceduardo.roque

Sua Table pode conter um “xizinho” que corresponderá à esclusão, que pode ser um image do Faces. No valor deste cara você armazena (dentro do seu Managed Bean) o código do registro que você quer apagar. Daí, no parâmetro actionListener do seu atributo de image, você chama {SuaClasse.excluir}. Lá, você acessa o evento do listener e pega o objeto image, e acessa o seu getValue(). Pronto, agora é só excluir do banco.

Caso você queria Clicar na palavra excluir, é só você associar a um link… do faces… e seguir o mesmo procedimento.

Att.

Carlos Eduardo :wink: :smiley:

Criado 25 de agosto de 2006
Ultima resposta 25 de ago. de 2006
Respostas 1
Participantes 2