2013-07-21 91 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

其好,謝謝...需要花一些時間才能習慣它,讚賞... –

相關問題