如何将jsp页面中的javascript变量传递给另一个java文件?

如何将jsp页面中的javascript变量传递给另一个java文件?,java,javascript,jsp,variables,Java,Javascript,Jsp,Variables,晚上好,我尝试做一个复选框,它嵌入到JSP页面中。我在JSPjavascript函数中使用document.getElementByID(“复选框”)。出于安全考虑,如何将javascript函数中的变量传递给另一个java文件而不通过url传递 这是复选框功能: var checkbox = document.getElementById("chbx"); function foo(){ if(checkbox.checked=true){ //passThisVari

晚上好,我尝试做一个复选框,它嵌入到JSP页面中。我在JSPjavascript函数中使用
document.getElementByID(“复选框”)
。出于安全考虑,如何将javascript函数中的变量传递给另一个java文件而不通过url传递

这是复选框功能:

var checkbox = document.getElementById("chbx");

 function foo(){
   if(checkbox.checked=true){
       //passThisVariableToAnotherJavaFile-isChecked
         }
   else {
        //passThisVariableToAnotherJavaFile-isNotChecked
         }
    };
这是Java文件:

public class CheckBoxEvent{

if(isChecked) {
   //then whatever
} else if (isNotChecked) {
          //then no whatever
}

}
我是一个jsp的新手,我以前用PHP做这个,但是当java文件中出现一个HashMap时,我脑子里的一切都混在一起了。嗯,需要一些提示和帮助


感谢您执行
var checkbox=document.getElementById(“chbx”)您正在客户端执行此操作。现在,如果您想将该值传播到服务器端,即传播到某个java类(大多数情况下是servlet),那么您有两个选项:-

1)Make an AJAX call. (You can also use jquery here to make AJAX call).Here is 
这个小例子,你可以在谷歌上找到

$.ajax({ 
type: 'GET', 
dataType: 'json', 
url: servlerURL, 
success: function(reply) { 

},
error: function (xhr, textStatus, errorThrown) { 

} 
}))

出于安全考虑,如何将javascript函数中的变量传递给另一个java文件而不通过url传递

这里有两个选项,在这两种情况下,您都需要将值发送到服务器进行处理:

  • 请求。这看起来更适合您的要求。你可以得到一份工作
  • 使用
    POST
    提交表单
  • 读这里


    在这两种情况下,都会有一个Servlet/JSP/Controller在服务器中处理请求。您可以使用请求参数调用自定义Java类中的方法。

    我所看到的实现类似此功能的唯一方法是使用AJAX。感谢您的回复,我将关注AJAX和JQuery@薛源少, 伙计,明白这一点,你的整个javascript部分都在客户端(浏览器),java代码、jsp、servlet都在服务器端(在应用服务器中运行)。。因此,javascript无法直接使用java代码。。您必须发出GET或POST请求。。我的简单建议是向某个servlet发送一个GET请求,作为“window.location=”./CheckBoxServlet?checked=true';“……我将使用ajax获取java函数,并将checkbox变量传递给它。在servlet的帮助下,谢谢朋友们。现在我可以区分jsp还是java是服务器/客户端语言了…非常感谢…为什么只发帖子。它也可以得到。提到这个帖子有什么特别的原因吗?谢谢,这个例子真的符合我的要求。。。现在,我将把java函数与请求(XXX)一起传递回jsp,这只是为了确定。在这种情况下,如果涉及数据库查询,您将它们放在哪里?Jsp还是Java?仅供参考意见,如果你想回答我的问题,那没关系。。。非常感谢…你应该有一个单独的DAO层。在Java文件中编写DB访问代码。你的意思是在javascript函数中实现ajax,比如ajax.call(“Java.file”);那么它将如何将变量传递到java文件?public isChecked(isChecked){this.isChecked=isChecked;return isChecked;}可以提供一些示例吗?
    or
    
    2)Submit the form