2013-07-21 94 views
0

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

这是复选框功能:

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将这样做,但当有一个HashMap出现在java文件中时,在我脑海中混淆的一切。好吧,需要一些提示和帮助。

谢谢

+1

真正实现这样的事情的唯一方法就是使用AJAX。 –

+0

感谢您的回复,我将关注Ajax和JQuery ... –

+0

@薛源少,好友,明白了这一点,您的整个JavaScript部分是在客户端(浏览器),java代码,jsp,servlets在服务器上方(运行在应用程序服务器)..所以没有办法你的JavaScript可以直接使用Java代码..你必须做一个GET或POST请求..我简单的建议是发送一个GET请求到一些servlet作为“window.location ='./CheckBoxServlet?checked=true';“ ... – Dreamer

回答

1

如何通过在javascript函数到另一个Java文件中的变量,而将其通过URL的安全问题?

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

  1. AJAXPOST or GET请求。这看起来更适合您的要求。你可以得到一个example here
  2. 使用POST提交表格。

这里When do you use POST and when do you use GET?

阅读在这两种情况下,会有一个的Servlet/JSP /控制器处理在服务器的请求。您可以使用请求参数调用Custom Java类中的方法。

+0

为什么只有POST。它也可以是GET。提及POST的任何具体原因? –

+0

@MSach更正... – NINCOMPOOP

+0

谢谢,这个例子真的和我的要求匹配... 现在我要通过请求(XXX)将java函数传递回jsp,只是为了确定。在这种情况下,如果有数据库查询涉及你在哪里放置它们? Jsp还是Java?只是为了意见是参考,它可以,如果你唔想回答... 非常感谢... –

0

当你做var checkbox = document.getElementById("chbx");你在客户端做。现在,如果你想将这个值服务器端的传播即一些java类(大多数情况下,这将是小服务程序),那么你有两个选择: -

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 
+0

你的意思是在JavaScript函数中实现ajax,比如ajax.call( “Java.file”);那么它将如何将变量传递给java文件? public isChecked(isChecked){this.isChecked = isChecked; return isChecked;} 可以提供一些例子吗? –

+0

其好,谢谢...需要花一些时间才能习惯它,赞赏... –

相关问题