gpt4 book ai didi

java - 从同一jsp上的javascript访问java变量

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:23 24 4
gpt4 key购买 nike

是否可以从同一页面上的javascript访问jsp中定义的String类型变量?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>Insert title here</title>
<script type="text/javascript">
foo();
function foo()
{
var value = "<%=myVar%>";
alert(value);
}
</script>
</head>
<body>

<%

String myVar="blabla";
%>

</body>

</html>

在eclipse中我得到一个错误

myVar cannot be resolved to a variable

最佳答案

这不会起作用,因为您正在尝试使用 undefined variable 。代码生成如下:

... = myVar;
//...
String myVar = "blabla";

没有意义,对吧?因此,为了使这项工作正常进行,您应该在使用变量之前声明它(一如既往):

<%
String myVar="blabla";
%>
<script type="text/javascript">
foo();
function foo() {
var value = "<%=myVar%>";
alert(value);
}
</script>

仍然非常不鼓励使用scriptlet。假设您使用的是 JSTLExpression Language (EL),这可以重写为:

<c:set name="myVar" value="blabla" />
<script type="text/javascript">
foo();
function foo() {
var value = "${myVar}";
alert(value);
}
</script>

如果您的变量包含类似 " 的字符在里面,那么这种方法就会失败。您可以使用 <c:out> 转义结果来自 JSTL:

var value = "<c:out value='${myVar}' />";

更多信息:

关于java - 从同一jsp上的javascript访问java变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com