實現(xiàn)JSP數(shù)據(jù)和JavaScript數(shù)據(jù)交互使用
對于WEB程序來說,前端(JavaScript)和后端(JSP/Servlet)是沒法共用數(shù)據(jù)的,只能是后端程序(JSP)把數(shù)據(jù)輸出,生成頁面到前端,這時候生成的頁面中的JavaScript代碼才有可能得到所謂JSP數(shù)據(jù)。同樣的,只有把JavaScript數(shù)據(jù)提交給后端JSP代碼,JSP程序中才能得到JavaScript數(shù)據(jù)。
那如何實現(xiàn)在頁面的JavaScript中使用JSP數(shù)據(jù)或是在JSP中使用頁面的JavaScript數(shù)據(jù)呢?
一、頁面中的JavaScript數(shù)據(jù)如何提交給后臺的JSP程序
1.可以將JavaScript的數(shù)據(jù)以xxx.JSP?var1=aaa&var2=bbb的形式作為URL的參數(shù)傳給JSP程序,此時在JSP中用
- <%String strVar1=request.getParameter("var1");%>
就可以獲取到JavaScript腳本傳遞過來的數(shù)據(jù);
2.使用JavaScript通過在表單里加入隱藏域信息,然后用表單提交的方式把數(shù)據(jù)傳遞給JSP程序。
參考下面的腳本:
- <script language="JavaScript">
- <!--
- JavaScript腳本,放置在頁面中的任何位置都可以
- insertclick()函數(shù)獲取JSP傳遞到頁面中的變量varMC,
- 然后就可以在JavaScript中修改這個變量的值,再通過
- post的方式提交給JSP程序來使用。
- function insertclick(){
- var1 = document.all.mc.value; //獲取頁面form中的變量值
- var1var1 = 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數(shù)據(jù)如何使用后臺的JSP數(shù)據(jù)
這個比較簡單,直接在JavaScript腳本中用<%=strVar1%>就可以把JSP程序中的數(shù)據(jù)傳遞給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>
【編輯推薦】