可以从 javascript 发送 var 以在 JSTL c:set 中使用它吗?
Can send var from javascript to use it in JSTL c:set?
有什么方法可以让我在 JavaScript 函数中声明的变量传递给 JSTL 标签?
Javascript
var abc = document.getElementById('asdf').value;
这里是 JSP:
<input type="hidden" id="asdf" value="onetwothree" />
我想从 JavaScript
中声明 C:set
<c:set var="ex" value="${abc}" />
它的目的是获取值为 "onetwothree" 的 "ex"
变量。
抱歉,粗略的解释。谢谢
您无法从 Javascript 访问 JSTL 标签,因为这些标签只存在于服务器端(客户端它们被纯 HTML 取代)。
您始终可以发送 javascript var 作为请求参数,然后在服务器端使用它。
你用的是另一种方式。可以使用下面的代码
从 javascript 访问在 jsp
中声明的变量
<c:set var="ex" value="test" />
<script type="text/javascript">
var abc = '${ex}';
</script>
但是你上面提到的其他方法是不可能的
如果您希望根据 input
框中提供的内容修改 DOM,那么我建议使用如下代码(在 javascript 中)
var abc = document.getElementById('asdf').value;
// assuming you want to print this value in a label
document.getElementById('mylabel').innerHTML = abc;
简而言之如果您想根据客户端输入对 DOM 进行任何更改,请通过 javascript 而不是依赖 [=31] =]
有什么方法可以让我在 JavaScript 函数中声明的变量传递给 JSTL 标签?
Javascript
var abc = document.getElementById('asdf').value;
这里是 JSP:
<input type="hidden" id="asdf" value="onetwothree" />
我想从 JavaScript
中声明 C:set<c:set var="ex" value="${abc}" />
它的目的是获取值为 "onetwothree" 的 "ex"
变量。
抱歉,粗略的解释。谢谢
您无法从 Javascript 访问 JSTL 标签,因为这些标签只存在于服务器端(客户端它们被纯 HTML 取代)。
您始终可以发送 javascript var 作为请求参数,然后在服务器端使用它。
你用的是另一种方式。可以使用下面的代码
从 javascript 访问在jsp
中声明的变量
<c:set var="ex" value="test" />
<script type="text/javascript">
var abc = '${ex}';
</script>
但是你上面提到的其他方法是不可能的
如果您希望根据 input
框中提供的内容修改 DOM,那么我建议使用如下代码(在 javascript 中)
var abc = document.getElementById('asdf').value;
// assuming you want to print this value in a label
document.getElementById('mylabel').innerHTML = abc;
简而言之如果您想根据客户端输入对 DOM 进行任何更改,请通过 javascript 而不是依赖 [=31] =]