Pessoal tenho o seguinte problema: estou dando post em minha pagina.jsp para minha Servlet.java. Dentro da servlet ela faz seu processo e retorno alguns dados para minha jsp. Dou post usando jQuery, e estou tentando retornar um objeto, e preencher os campos usando tagLib. Segue o código para melhor entendimento.
pagina.jsp
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<script type="text/javascript" src="../web-content/js/jquery/jquery.form.js"></script>
<script type="text/javascript" src="../web-content/js/jquery/development-bundle/jquery-1.3.2.js"></script>
<script type="text/javascript">
function saveRequest() {
var params = {
success: saveResponse, // post-submit callback
url: 'EtiquetaLogicaControl', // override for form's 'action' attribute
type: 'post', // 'get' or 'post', override for form's 'method' attribute
dataType: 'json', // 'xml', 'script', or 'json' (expected server response type)
clearForm: true, // clear all form fields after successful submit
resetForm: true // reset the form after successful submit
};
// bind form using 'ajaxForm'
$('#form').ajaxSubmit(params);
}
function saveResponse(data) {
alert(data.message); // aqui está retornando a mensagem
// se eu retornar os valores dos campos como estou retornando a mensagem, consigo preenche-los mas como envio e trato o objeto aqui?
}
</script>
</head>
<body>
<div id="tela_cadastro" title="Cadastro de etiquetas lógicas">
<form id="form">
<fieldset>
<label for="txtNrLote" style="margin-right: 50px;" >Lote</label>
<input type="text" name="txtNrLote" id="txtNrLote" size="10" maxlength="10" value="${etiqueta_logica.nrLote}"/>
<br/><br/>
<label for="txtNrInicial" style="margin-right: 20px;">Nº. inicial</label>
<input type="text" name="txtNrInicial" id="txtNrInicial" size="15" maxlength="10" value="${etiqueta_logica.nrInicial}" onkeypress="return somenteNumeros(event)"/>
<label for="txtNrFinal" style="margin-left: 50px; margin-right: 20px;">Nº. final</label>
<input type="text" name="txtNrFinal" id="txtNrFinal" size="15" maxlength="10" value="${etiqueta_logica.nrFinal}" onkeypress="return somenteNumeros(event)"/>
</fieldset>
<button type="button" name="insertBtn" value="Insert" onClick="javaScript:saveRequest()"/>Incluir</button>
</form>
<p id="validateTips">${message}</p>
</div>
</body>
</html>
servlet EtiquetaLogicaControl
public class EtiquetaLogicaControl extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
executeServlet(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
executeServlet(request, response);
}
private void executeServlet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
long nrLoteHtml = 0;
nrLoteHtml = Long.parseLong(request.getParameter("txtNrLote"));
etiquetaLogica.setNrLote(nrLoteHtml);
int nrInicialHtml = 0;
nrInicialHtml = Integer.parseInt(request.getParameter("txtNrInicial"));
etiquetaLogica.setNrInicial(nrInicialHtml);
int nrFinalHtml = 0;
nrFinalHtml = Integer.parseInt(request.getParameter("txtNrFinal"));
etiquetaLogica.setNrFinal(nrFinalHtml);
// faz o tratamento de insert e logo apos faz uma consulta para retornar demais dados
etiquetaLogica = (EtiquetaLogicaBean) etiquetaLogicaBusiness.findByPk(etiquetaLogica);
//esta é a forma que consigo usar para enviar objetos e collections
request.setAttribute("etiqueta_logica", etiquetaLogica);
getServletContext().getRequestDispatcher("/web-content/jsp/frmEtiquetaLogica.jsp").forward(request,response);
//esta é a forma que consigo usar para enviar a response para meu jsp
response.getOutputStream().print("{message:\"Inclusao realizada\"}");
Desde já agradeço a ajuda!