【发布时间】:2014-03-10 12:53:10
【问题描述】:
我在处理 Struts 2 和 Javascript 时遇到问题。这是javascript代码:
geocoder.geocode({'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitud = results[0].geometry.location.lat();
var longitud = results[0].geometry.location.lng();
document.getElementById("goPlans_evo_latitud").value = latitud;
document.getElementById("goPlans_evo_longitud").value = longitud;
document.getElementById("goPlans").submit();
}
});
当我尝试在脚本端打印这两个值(纬度和经度)时,它会返回此值(例如):
41.3970035 2.189719200000013
如果我在 action 方法上打印它们(在 struts 2 在 Double 对象上设置这些值之后),它会返回:
4.13970035E8 2.189719200000013E15
我注意到这是一个科学记数法。我可以尝试格式化它们,但这些值的格式错误。
这个动作方法(很简单):
public String goPlans() {
System.out.println(evo.getLatitud() + " " + evo.getLongitud());
return SUCCESS;
}
有人可以帮助我了解如何使用 Struts 2 正确设置这些值吗?
谢谢。
编辑:我发现了问题!我需要将经度和纬度 bean 变量声明为双精度(原始)而不是双精度(类)。
【问题讨论】:
-
我认为问题不在于 Javascript 方面。它在操作方法方面。
-
如果你
console.log(latitud)和/或console.log(longitud)怎么办? -
显示你在哪里打印的代码,然后你可能会得到答案。
-
如果您找到了问题的答案,请将其发布在答案部分。
标签: javascript google-maps struts2 double scientific-notation