是否可以从JavaScript变量中获取值并在Java Servlet中使用此值?我已经阅读了这篇文章,但我发现只是通过表单提交获得JavaScript值。
我需要的是:
这可能吗?
答案 0 :(得分:1)
嗯,JavaScript在客户端上运行,servlet在您的服务器上运行。所以你需要以某种方式将值发送到你的服务器。这两种(典型)方法是使用表单提交,或Ajax。由于您提到的值来自一个选择框,我假设您希望在用户更改选择时更新页面上的内容,使用Ajax可能就是您想要的。
除非更新所需的数据量非常大,可能经常更改,或者您的目标客户端在带宽或计算能力方面确实受到限制(如移动设备),否则您可能还会嵌入页面上所需的所有数据,根据选择隐藏和显示数据,而无需使用服务器调用。如果在您的方案中可以实现这一点,那么与使用Ajax相比,它更有可能感觉快速且响应迅速。
答案 1 :(得分:0)
您可以使用AJAX请求将客户端值发布到服务器。由于跨浏览器问题,AJAX是一个没有任何JavaScript库的痛苦,这个例子使用了流行的jQuery库。
HTML:
<form id="example-form" action="/path/to/servlet" method="post">
<select> .... </select>
<div class="result"> The result from server is displayed here. </div>
</form>
使用Javascript:
$(function() {
var f = $('#example-form');
$('select', f).change(function() {
$('.result', f).html('Wait...').load(f.attr('action'), f.serialize());
});
});