【问题标题】:Can we use jQuery to work with Java objects OR does it manipulate DOM model only?我们可以使用 jQuery 来处理 Java 对象还是只操作 DOM 模型?
【发布时间】:2014-06-25 16:13:03
【问题描述】:

我有一个非常复杂的场景,我需要从 jquery get Request 更改 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.

这是正确的方法吗?到目前为止,我的功能在开发环境中运行良好。但我担心我是否应该使用 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.
                  } 
              });

【问题讨论】:

    标签: java jquery json dom servlets


    【解决方案1】:

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

    这是我的想法:

    1.在你的页面中设置一个dom对象,数据来自你的ajax

    $(domId).val(value get from ajax);
    

    2.如果你不想显示数据,在你的jsp表单中使用隐藏类型输入

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

    3.点击提交按钮后,在 servlet 中处理数据

    String data = request.getParameter("domName");
    session.setAttributes("sessionData", data);
    

    希望这会对你有所帮助。

    【讨论】:

    • 顺便说一句,您可以发送您的代码示例让我了解更多信息,而不仅仅是纯文本
    • 谢谢 ..我已经粘贴了我的 jquerycode 。请看。我的Java代码非常庞大,我无法粘贴,抱歉。但具体来说,它获取您在 jquery 代码中看到的请求参数,然后使用这些值更新地图,然后将该地图放入 session.setAttribute("map",map) 并发送回响应。这个过程一直重复,直到用户想要操作数据。一旦用户完成,他将点击提交按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2016-03-26
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多