如何在不重置jsp表单中的控件的情况下响应来自servlet的客户端请求

时间:2012-11-20 05:43:53

标签: java jsp servlets

我是一个建筑项目,我在其中使用java-beans,jsp和servlets。我需要在稍微修改过的html请求的同一页面上将响应发送到客户端。但是当我(服务器)将请求发送到jsp页面时,表单中的控件将重置为其原始值。但我不想在请求发出后覆盖用户的输入。实现此目的的一种方法是在发出请求时获取表单中每个控件的属性值,然后在响应时再次设置它们。实际上我的表单中有大量的控件,每个控件的值都不高效。

还有一些其他方法可以在响应客户端时保持jsp文件中的表单不变。

3 个答案:

答案 0 :(得分:0)

为什么不使用iframe?因此,当您向同一页面发出请求时,您不必刷新整个页面。

不是将表单的操作转到同一页面,而是调用一个javascript函数来设置链接中的参数然后

var f = document.getElementById('iframe');
f.src = 'newlink';
f.contentWindow.location.reload(true);

这填充了最新内容的iframe

答案 1 :(得分:0)

您可以将ajax用于您所要求的内容,或者您​​必须将数据保存在表单提交,会话或某个地方,并在响应时重新设置它们。除此之外,我认为即使页面重新加载,也没有其他方法可以保留表单数据。

由于 琳

答案 2 :(得分:0)

function openOffenderInfo(i)
{
  $.ajax({
          url:'../loginServlet',
      type: 'POST',
      success: function(data) 
     {
        alert("reset your div values in this block");
            .... for example .....
            documnet.getElementById('reloading Div').innerHTML=data;
     },
    error: function(data) 
    {
       alert("error");
    }
    });
}

URL:c =要调用的servlet的名称 此servlet计算数据并提供要在div中重置的新数据

成功:这是在成功完成ajax调用时将执行的函数 所以你可以在这个函数中设置重新加载部分的值

我希望这可能会为你提供目的