Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以使用jQuery来处理Java对象,还是只处理DOM模型?_Java_Jquery_Json_Dom_Servlets - Fatal编程技术网

我们可以使用jQuery来处理Java对象,还是只处理DOM模型?

我们可以使用jQuery来处理Java对象,还是只处理DOM模型?,java,jquery,json,dom,servlets,Java,Jquery,Json,Dom,Servlets,我有一个非常复杂的场景,在这个场景中,我需要从jQueryGet请求中更改java对象(基本上是HashMap),然后获取响应并将其打印到jsp中。用户可以根据请求发送请求数,并从servlet获得单独的响应,并显示数据 在每次请求之后,我都必须将地图放在会话中,而不是另一个请求中,我在会话中得到相同的地图,并进行更新,然后将其放回会话中 JqueryGet(parameter) to Java. Updating Hashmap according to parameter. Putt

我有一个非常复杂的场景,在这个场景中,我需要从jQueryGet请求中更改java对象(基本上是HashMap),然后获取响应并将其打印到jsp中。用户可以根据请求发送请求数,并从servlet获得单独的响应,并显示数据

在每次请求之后,我都必须将地图放在会话中,而不是另一个请求中,我在会话中得到相同的地图,并进行更新,然后将其放回会话中

JqueryGet(parameter) to Java.    
Updating Hashmap according to parameter.
Putting hashmap in session . ( session.setAttribute("map",map))
sending response back to Jsp in jquery and print results in jsp.
Than another request send to Java .
it will get the map from session session.getAttribute("map",map) and than update the map based on new request .
Put the map again in session and so on....Than i have a submit button finally which will show the new data on the page and than update the server.
这是正确的方法吗?到目前为止,我的功能在Dev环境中运行良好。但是我担心我是否应该使用DOM。如果我将使用DOM,它将非常复杂,因为我必须根据请求操作Hashmap的许多值

以下是jquery代码:

 $.ajax({
                 url: '<%=portalContext.createTemplateProcessURI()%>'
                 +'?s1='+ $("#networkBox1").val()+'&box1=Box1&tick=add&val1='+ allvs+'&s2='+ $("#networkBox2").val()+'&box2=Box2&val2='+ allvs,
                 type: 'get',
                 dataType: 'text',
                 async: false,
                 success: function(data) {                      
                        Processbox(data);   // This function displaying the result.
                  } 
              });
$.ajax({
url:“”
+“?s1=”+$(“#networkBox1”).val()+”&box1=box1&tick=add&val1=”+allvs+”&s2=”+$(“#networkBox2”).val()+”&box2=box2&val2=”+allvs,
键入:“get”,
数据类型:“文本”,
async:false,
成功:函数(数据){
Processbox(数据);//此函数显示结果。
} 
});

伙计,首先,我认为在您从后端获取数据之后,您的java对象已经更改为json对象。我认为您的流程没有问题,因为一旦您更改为DOM,那么所有数据都通过前端发送,而不是后端,如果您使用会话,实际上您在后端处理数据,对我来说,我更喜欢第二个

以下是我的想法:

1.使用从ajax获取的数据在页面中设置dom对象

$(domId).val(value get from ajax);
2.如果您不想显示数据,请在jsp表单中使用隐藏类型输入

<input type="hidden" id="domId" name="domName">

希望这能对您有所帮助。

顺便说一句,您可以发送代码示例,让我了解更多信息,而不仅仅是简单的文本。谢谢。我已经粘贴了我的jquerycode。请参阅。我的java代码非常庞大,我不能粘贴,对不起。但具体地说,它获取jquery代码中看到的请求参数,然后用这些值更新映射,然后将该映射放入session.setAttribute(“map”,map)并发送响应。此过程将重复,直到用户想要操作数据为止。一旦用户完成,他将点击提交按钮。
String data = request.getParameter("domName");
session.setAttributes("sessionData", data);