0

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

这是复选框功能:

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时,我脑海中的一切都混淆了。好吧,需要一些提示和帮助。

谢谢你

4

2 回答 2

1

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

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

  1. AJAX POST 或 GET请求。这看起来更适合您的要求。你可以在这里得到一个例子
  2. 使用 提交表单POST

阅读此处您何时使用 POST 以及何时使用 GET?

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

于 2013-07-21T15:08:17.890 回答
0

当你这样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) { 

} 

});

or

2)Submit the form
于 2013-07-21T15:08:05.620 回答