Boa tarde! gostaria de saber como posso fazer minha servlet pegar apenas os marcados(e seus repectivos dados), pois como eustou fazendo ela traz todos os campos enviados para ela, como verificar se esta marcado? outra duvida dessa forma q fiz eu consivo ver todos os campos independende de estar marcado ou nao ou seja todos os campos dentro do formulario sao enviados, teria alguma forma de enviar apenas os checados?, mas tbm nao sei como destrinchar para atribuir cada campo a seu respectivo objeto.
segue o trecho dos checklist:
<body>
<div id="main-container" >
<h3 class="text-info">Escolha os itens a baixo!</h3>
<hr>
<div style="margin-bottom: 20px">
<fmt:setLocale value="pt-BR" />
<fieldset></fieldset>
<form action="preparando.do">
<table id="checkTable">
<tr>
<th class="tituloTable">ID</th>
<th class="tituloTable">Descrição</th>
<th class="tituloTable">Preço</th>
<th class="tituloTable">Img</th>
</tr>
<c:forEach var="listar" items="${ListaRetornada}" varStatus="status">
<tr>
<td>
<label for="${listar.idCosmos}">
<input id="${listar.idCosmos}" type="checkbox" name="item" value="${listar.idCosmos}">${listar.idCosmos}
</label>
</td>
<td>
<label for="${listar.idCosmos}">
${listar.descricaoCosmos}
<input type="hidden" name="item" value="${listar.descricaoCosmos}">
</label>
</td>
<td>
<label for="${listar.idCosmos}">
<fmt:formatNumber value="${listar.precoVendaCosmos}" minFractionDigits="2" type="currency" />
<input type="hidden" name="item" value="${listar.precoVendaCosmos}">
</label>
</td>
<td>
<label>
<input type="file" name="files" id="file${listar.idCosmos}" multiple style="margin-bottom: 20px" />
<button class="btn btn-primary" id="btn" type="button" onclick="startUploading(${listar.idCosmos})">
<i class="fa fa-upload"></i>
Upload file
</button>
</label>
</td>
<!-- <td><div id="upload-status-container"></div> </td> -->
</tr>
<input type="hidden" name="item" value="${listar.idCosmos}" >
<input type="hidden" name="item" value="${listar.classificacaoFiscalNCM}" >
<input type="hidden" name="item" value="${listar.estoqueCosmos}" >
<input type="hidden" name="item" value="${listar.precoCusto}" >
<input type="hidden" name="item" value="${listar.cdFornecedor}" >
<input type="hidden" name="item" value="${listar.descFornecedor}" >
<input type="hidden" name="item" value="${listar.pesoliq}" >
<input type="hidden" name="item" value="${listar.cdBarraUND_gtin_ean}" >
<input type="hidden" name="item" value="${listar.largura}" >
<input type="hidden" name="item" value="${listar.altura}" >
<input type="hidden" name="item" value="${listar.profundidade}" >
<input type="hidden" name="item" value="${listar.descProdFornecedor}" >
<input type="hidden" name="item" value="${listar.marca}" >
<input type="hidden" name="item" value="${listar.descCurta}" >
<input type="hidden" name="item" value="${listar.precoCompra}" >
<input type="hidden" name="item" value="${listar.categoriaProduto}">
</c:forEach>
</table>
<input type="submit" value="Enviar dados">
</form>
</div>
<hr>
<div id="upload-header">
<span id="upload-header-text"></span>
<i class="action-icon fa fa-window-minimize pull-right" onclick="showHide(this)" title="minimize"></i>
</div>
<div id="progress-bar-container">
<table class="table">
<tbody></tbody>
</table>
</div>
</div>
e segue a servlet que recebe os campos acima:
package controle;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import javax.swing.JOptionPane;
import beans.BeanTempImg;
/**
* Servlet implementation class PreparaParaCsv
*/
public class PreparaParaCsv extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public PreparaParaCsv() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//HttpSession session = request.getSession(true);
//Collection<BeanTempImg> listaIDLink = new ArrayList<BeanTempImg>();
// listaIDLink= (Collection<BeanTempImg>) session.getAttribute("listaImg");
BeanTempImg dp = new BeanTempImg();
// String [] a =request.getParameterValues("aa");
//JOptionPane.showMessageDialog(null, a);
String[] results = request.getParameterValues("item");
for (int i = 0; i < results.length; i++) {
System.out.println( results[i]);
/*
* como eu podereia aqui destrinchar
* id- objeto.set....
* peso- objeto.set... e assim sucessivamete
*
* */
}
// for (BeanTempImg dp :listaIDLink) {
// System.out.println(dp.getId()+" 888888888888888888888888888888888888- "+dp.getCaminhoString());
// }
//
}
}
teria alguma outra maneira que eu possa enviar apenas os marcados no formuario ou alguma forma de comparar para ver se esta marcado para eu pega as informações apenas dos campos que o usuario marcou o chekbox? desde já grato a qualquer ajuda que possa me tirar desse perrengue.