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>
轉自:百度知道