Как получить расстояние и продолжительность ответа из JavaScript в JSP и сохранить область сеанса? - PullRequest
0 голосов
/ 20 апреля 2019

Это проект, который включает в себя часть для расчета расстояния и оценки стоимости проезда.Я написал код для моей карты API, который я использую для расчета расстояния и длительности, используя Google API матрицы расстояния.Я отображаю результат в JSP с помощью $ (). Html ();Я хочу, чтобы данные в области видимости сессии использовались в будущем, и я не могу найти какое-либо решение. Любое решение подойдет даже для анализа URL-адреса и последующего сохранения данных в области видимости сеанса.

Примечание. Я хочуданные отображаются на другой странице jsp, которую я буду использовать для кода бэкенда (оценка тарифа) для этой страницы jsp.

Я пробовал windows.location Также String x = "document.writeln (var from javascript)"

// Этот код находится в 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>

1 Ответ

0 голосов
/ 21 апреля 2019

Одним из возможных решений может быть 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);

Надеюсь, это поможет!

...