jsp java内联函数调用退出javascript

jsp java内联函数调用退出javascript,java,javascript,jquery,jsp,web,Java,Javascript,Jquery,Jsp,Web,我试图在jsp页面中的javascript中调用java类函数。 我已经导入了它 <%@ page language="java" import="myPackage.*"%> 我已经构建了这个类 <% myClass myJavaInstance =new myClass(); System.out.println("this worked!"); %> 我有一点javaScript,里面有一条警告消息 <script>

我试图在jsp页面中的javascript中调用java类函数。 我已经导入了它

<%@ page language="java" import="myPackage.*"%>

我已经构建了这个类

<% 
    myClass myJavaInstance =new myClass(); 
    System.out.println("this worked!"); 
%> 

我有一点javaScript,里面有一条警告消息

<script>
    alert("hello ");
</script>

警惕(“你好”);
但是当我加上这一行

var thisHere = <%= myJavaInstance.getName() %>
var thisHere=
在警报之前,它不会显示

<script>
    var thisHere = <%= myJavaInstance.getName() %>
    alert("hello ");
</script>

var thisHere=
警惕(“你好”);
如果我把它放在警报之后,它就会出现

<script>
    alert("hello ");
    var thisHere = <%= myJavaInstance.getName() %>
</script>

警惕(“你好”);
var thisHere=
我知道该方法会被调用,因为我在其中放入了println。
我错过了什么?它应该能正常工作?

使用控制台。看起来您有语法错误,需要在javascript中的字符串周围加引号。当脚本出错时,它将停止执行脚本的其余部分。这就是为什么当你把它放在警报之前并且它出错时,它不会执行警报,但是如果你把它放在警报之后,然后出错

<script>
    var thisHere = "<%= myJavaInstance.getName() %>"
    alert("hello " + thisHere);  
</script>

var thisHere=“”
警报(“你好”+这里是);

使用控制台。看起来您有语法错误,需要在javascript中的字符串周围加引号。当脚本出错时,它将停止执行脚本的其余部分。这就是为什么当你把它放在警报之前并且它出错时,它不会执行警报,但是如果你把它放在警报之后,然后出错

<script>
    var thisHere = "<%= myJavaInstance.getName() %>"
    alert("hello " + thisHere);  
</script>

var thisHere=“”
警报(“你好”+这里是);

myJavaInstance.getName()的结果可能是一个类似于
的字符串“Nikos”
。JS中的渲染输出将是:

var thisHere = Nikos
这不是有效的JS(Nikos未定义)。所以用引号括起来:

var thisHere = "<%= myJavaInstance.getName() %>";
var thisHere=“”;

此外,对于在其中找到的任何引号,您应该对字符串进行转义。

myJavaInstance.getName()的结果可能是类似于
“Nikos”
的字符串。JS中的渲染输出将是:

var thisHere = Nikos
这是无效的JS(Nikos未定义)。所以用引号括起来:

var thisHere = "<%= myJavaInstance.getName() %>";
var thisHere=“”;

此外,对于在字符串中找到的任何引号,都应转义该字符串。

可能的重复项似乎jsp没有将
var thisHere=
呈现到适当的javascript中,因此浏览器无法执行它。
myJavaInstance.getName()
的返回值是多少?jsp似乎没有将
var thisHere=
呈现为正确的javascript,因此浏览器无法执行它。
myJavaInstance.getName()的返回值是多少?