这是一个项目,其中包括计算距离和给出票价估算的部分。我已经为我的地图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>
一个解决方案可能是,您可以在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);
希望这可以帮助!