JSP數據和JavaScirpt數據交互使用問題的一種解決方法 | ||
JSP數據和JavaScirpt數據交互使用問題的一種解決方法 對于WEB程序來說,前端(JavaScript)和后端(JSP/Servlet)是沒法共用數據的,只能是后端程序(JSP)把數據輸出,生成頁面到前端,這時候生成的頁面中的JavaScript代碼才有可能得到所謂jsp的數據。同樣的,只有把JavaScript里的數據提交給后端JSP代碼,JSP程序中才能得到JavaScript的數據。 那如何實現在頁面的JavaScript中使用jsp中的數據或是在jsp中使用頁面的JavaScript數據呢? 一、頁面中的JavaScript的數據如何提交給后臺的jsp程序 ① 可以將JavaScript的數據以xxx.JSP?var1=aaa&var2=bbb的形式作為URL的參數傳給JSP程序,此時在jsp中用 <%String strVar1=request.getParameter("var1");%>就可以獲取到JavaScript腳本傳遞過來的數據; ② 使用JavaScript通過在表單里加入隱藏域信息,然后用表單提交的方式把數據傳遞給JSP程序。 參考下面的腳本: <script language="JavaScript"> <!-- /*************************************************************** * JavaScript腳本,放置在頁面中的任何位置都可以 * insertclick()函數獲取JSP傳遞到頁面中的變量varMC, * 然后就可以在JavaScript中修改這個變量的值,再通過 * post的方式提交給JSP程序來使用。 ***************************************************************/ function insertclick(){ var1 = document.all.mc.value; //獲取頁面form中的變量值 var1 = var1 + "名稱"; document.insertForm.submit(); } //--> </script> <!-- html頁面form表單,放置在html頁面中的位置不限 --> <form name="insertForm" method="post" action="yourJSP"> <!-- 下面這一句是獲取JSP程序中傳遞過來的變量值 --> <input type="hidden" name="mc" value="<%=varMC%>"> <input type="button" value="提交" onclick="insertclick()"> </form> 二、頁面中的JavaScript的數據如何使用后臺的JSP程序的數據 這個比較簡單,直接在JavaScript腳本中用<%=strVar1%>就可以把jsp程序中的數據傳遞給JavaScript腳本使用了。 參考下面的腳本: <!-- html頁面form表單,放置在html頁面中的位置不限 --> <form name="insertForm" method="post" action="yourJSP"> <input type="hidden" name="mc" value=""> </form> <script language="JavaScript"> <!-- /*************************************************************** * JavaScript腳本,放置在頁面中form以后的任何位置都可以 * 使用JavaScirpt獲取JSP傳遞到頁面中的變量varMC, * 然后就可以在JavaScript中使用這個變量的值,通過 * JavaScript腳本賦值給form中的隱藏域。 ***************************************************************/ var1 = "<%=varMC%>"; //獲取JSP中的變量值 document.all.mc.value = var1; //--> </script> |