我在处理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();
}
});
当我尝试在脚本端打印这两个值(纬度和经度)时,它会返回此值(p.ex。):
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变量声明为double(primitive)而不是Double(Class)。
答案 0 :(得分:0)
我发现了问题!我需要将经度和纬度bean变量声明为double(primitive)而不是Double(Class)。