Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

**de que forma repassar o rowid do acionamento do botão <EXCLUIR> para o botão <SIM> no .jsp**

Recebi uma tarefa (CRUD), na qual as consultas e inserções já vieram prontas. Preciso implementar as outras duas funcionalidades (alteração e exclusão). Na alteração (implementada com êxito), adicionei ao método que intercepta o evento do botão ALTERAR , o acesso ao BD executando o update na classe DAO . Contudo na exclusão, estou com a seguinte dificuldade: (diferentemente da alteração), após o click no botão EXCLUIR, é aberto um menu de confirmação (SIM E NÃO). Acredito que, por esta razão , o rowid ESTÁ CHEGANDO NULL no método que intercepta o click no botão SIM, (o que não acontecia quando clicava no botão ALTERAR) . Diante disso, poderiam me orientar de que forma repassar o rowid do acionamento do botão EXCLUIR para o botão SIM no código do .jsp abaixo? Muitíssimo obrigado pela atenção

código do .jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title><s:text name="label.titulo.pagina.consulta"/></title>
        <link rel='stylesheet' href='webjars/bootstrap/5.1.3/css/bootstrap.min.css'>
    </head>
    <body class="bg-secondary">    
        <div class="container">
            <div class="row mt-5 mb-2">
                <div class="col-sm p-0">
                    <s:form action="/filtrarExames.action">
                        <div class="input-group">
                            <span class="input-group-text">
                                <strong><s:text name="label.buscar.por"/></strong>
                            </span>    
                                <s:select  
                                    cssClass="form-select" 
                                    name="filtrar.opcoesCombo" 
                                    list="listaOpcoesCombo"  
                                    headerKey=""  
                                    headerValue="Escolha..." 
                                    listKey="%{codigo}" 
                                    listValueKey="%{descricao}"
                                    value="filtrar.opcoesCombo.codigo"                                    
                                />

                                <s:textfield cssClass="form-control" id="nome" name="filtrar.valorBusca"/>
                                <button class="btn btn-primary" type="submit"><s:text name="label.pesquisar"/></button>
                        </div>
                    </s:form>            
                </div>                
            </div>

            <div class="row">
                <table class="table table-light table-striped align-middle">
                    <thead>
                        <tr>
                            <th><s:text name="label.id"/></th>
                            <th><s:text name="label.nome"/></th>
                            <th class="text-end mt-5"><s:text name="label.acao"/></th>
                        </tr>
                    </thead>

                    <tbody>
                        <s:iterator value="exames" >
                            <tr>
                                <td>${rowid}</td>
                                <td>${nome}</td>
                                <td class="text-end">
                                    <s:url action="editarExames" var="editar">
                                        <s:param name="exameVo.rowid" value="rowid"></s:param>
                                    </s:url>

                                    <a href="${editar}" class="btn btn-warning text-white">
                                        <s:text name="label.editar"/>
                                    </a>

                                    <a href="#" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirmarExclusao">
                                        <s:text name="label.excluir"/>
                                    </a>
                                </td>
                            </tr>
                        </s:iterator>
                    </tbody>

                    <tfoot class="table-secondary">
                        <tr>
                            <td colspan="3">
                                <s:url action="novoExames" var="novo"/>

                                <a href="${novo}" class="btn btn-success">
                                    <s:text name="label.novo"/>
                                </a>
                            </td>
                        </tr>
                    </tfoot>                
                </table>
            </div>

            <div class="row">

            </div>
        </div>

        <div  class="modal fade" id="confirmarExclusao" 
            data-bs-backdrop="static" data-bs-keyboard="false"
            tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
          <div class="modal-dialog" role="document">
            <div class="modal-content">
              <div class="modal-header">
                <h5 class="modal-title"><s:text name="label.modal.titulo"/></h5>

                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
              </div>

              <div class="modal-body">
                  <span><s:text name="label.modal.corpo"/></span>
              </div>

              <div class="modal-footer">
                <a class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close">
                    <s:text name="label.nao"/>
                </a>

                <s:a id="excluir" class="btn btn-primary" style="width: 75px;">
                    <s:text name="label.sim"/>
                </s:a>                        
              </div>
            </div>            
          </div>
        </div>

        <script src="webjars/bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script>
    </body>
</html>


1 resposta
solução!

Olá Alberto, tudo bem?

Pelo que entendi, você está com dificuldades para passar o rowid do acionamento do botão EXCLUIR para o botão SIM no código do .jsp. Uma possibilidade é utilizar o atributo "data" do HTML para armazenar o valor do rowid no próprio botão EXCLUIR e depois recuperá-lo no botão SIM.

Por exemplo, você pode adicionar o seguinte código no botão EXCLUIR:

<a href="#" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirmarExclusao" data-rowid="${rowid}">
    <s:text name="label.excluir"/>
</a>

E então, no botão SIM, você pode recuperar o valor do rowid da seguinte forma:

<s:a id="excluir" class="btn btn-primary" style="width: 75px;" href="/excluir?id=${rowid}">
    <s:text name="label.sim"/>
</s:a>

Note que eu utilizei o valor do rowid para montar o link de exclusão no atributo "href" do botão SIM. Você deve adaptar esse link de acordo com a sua implementação.

Espero ter ajudado e bons estudos!