如何从javascript获取响应的距离和持续时间到jsp和存储会话范围?

问题描述 投票:-1回答:1

这是一个项目,其中包括计算距离和给出票价估算的部分。我已经为我的地图api编写了一个代码,我用它来计算距离和持续时间,使用google distance matrix api。我使用$()。html();将结果显示在jsp中。我希望将数据放入会话范围以供将来使用,我无法找到任何解决方案。任何解决方案都可以解析网址,然后将数据存储到会话范围内。

注意:我希望数据显示在另一个jsp页面中,我将用于该jsp页面的后端代码(票价估算)。

我试过了windows.location也是字符串x =“document.writeln(来自javascript的var)”

//此代码位于mapapi.js if(status ==='OK'){

        // output for distance matrix
        var distance = response.routes[0].legs[0].distance.text
        var time = response.routes[0].legs[0].duration.text
        /*window.location="http://localhost:8080/bookingjsp?param1="+distance;
        window.location="http://localhost:8080/bookingjsp?param2="+time;*/



        $("#output").html(
                "<div class='alert-info'>From: "
                        + document.getElementById("source").value
                        + ".<br />To: "
                        + document.getElementById("destination").value
                        + ".<br /> Driving distance: "
                        + distance
                        + ".<br />Duration: "
                        + time
                        + ".</div>");

        me.directionsDisplay.setDirections(response);
    } else {
        window.alert('Directions request failed due to ' + status);

    }

//这是我在jsp文件中显示输出的地方

            </div>

        </div>
    </div>
</section>
<!-- //Booking -->
<div>
    <strong>Results</strong>
</div>
<div id="output"></div>
<br>
javascript jquery spring-boot google-maps-api-3 google-distancematrix-api
1个回答
1
投票

一个解决方案可能是,您可以在hidden field页面中拥有如下所示的jsp

<input type="hidden" id="distance" name="distance" />
<input type="hidden" id="time" name="time" /> 

那么,在你的javascript你可以写如下:

document.getElementById("distance").value = distance ;//assign value of distance to input field
document.getElementById("time").value = time;

无论何时,form submits你都可以获得如下值:

String distance= request.getParameter("distance"); //getting value 
String time= request.getParameter("time"); //getting value 
HttpSession session = request.getSession();
session.setAttribute("distance",distance);//setting value in session
session.setAttribute("time",time);

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.