java - 将数字转换为整数?发现不兼容的类型 : void required: int

标签 java javascript jsp google-maps

我正在编写一个应用程序来使用 java 和 javascript 获取谷歌地图中某个位置的纬度和经度。

下面的代码部分报错:

代码(jsp文件的一部分):

<script type="text/javascript">
  var map;

  //Initialization & some more code goes here

  function centerChanged() {
    <%
        int lat=0,lng=0;
        lat=%>map.getCenter().lat();<%
        lng=%>map.getCenter().lng();<%
        //request.setAttribute("lat", lat);
        //request.setAttribute("lng", lng);
    %>    
  }

从上面的代码中,这是导致错误的两行:

    lat=%>map.getCenter().lat();<%
    lng=%>map.getCenter().lng();<%

附加信息:

map.getCenter().lat() << 这将返回一个数字,如 google maps API 中所述:

这是我遇到的错误:

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6197: An error occurred at line: 81 in the jsp file: /maptest.jsp PWC6199: Generated servlet error: string:///maptest_jsp.java:127: incompatible types found : void required: int

PWC6197: An error occurred at line: 82 in the jsp file: /maptest.jsp PWC6199: Generated servlet error: string:///maptest_jsp.java:130: incompatible types found : void required: int

谁能告诉我哪里出了问题?

最佳答案

您正在尝试将一个值从 Javascript 动态插入到 JSP 中。错误是 JSP 在服务器端执行,而 Javascript 在客户端执行。

你在那里写的等同于 Java 代码:

out.write("function centerChanged() {");
int lat=0,lng=0;
lat=;
out.write("map.getCenter().lat();");
lng=;
out.write("map.getCenter().lng();");
//request.setAttribute("lat", lat);
//request.setAttribute("lng", lng);
out.write("}");

明白了吗? <%%> 包围的都是纯 Java 代码,它外面的任何东西都会被打印出来,因此你的异常(exception)。

要解决此问题,您需要更改在服务器端 JSP 代码中检索客户端 Javascript 值的逻辑。

关于java - 将数字转换为整数?发现不兼容的类型 : void required: int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8034751/

相关文章:

java - JSP java io 文件的最后修改日期是纪元,尽管在 FTP 中文件日期是昨天 - tomcat6

java - 在 Windows CE 中,可以在关闭子 IE 窗口时强制将焦点集中在调用 IE 窗口上吗?

java - 如何用最短的代码 Java 中的 console.next() 接受 1 或 2 个字符串变量?

java - 在 ORMLite 中使用 id 字段作为外部字段

Javascript 函数执行和嵌套函数调用

javascript - Vue 2 - 从点击或输入事件触发时 $emit 的不同行为

java - 从 AWS Step Functions Activity 名称获取 ARN

java - 无法使用来自tomcat的css运行jsp

javascript - 页面底部的滚动条

spring - JSP 表单 : HttpStatus 400: The request sent by the client was syntactically incorrect