JSP和JavaScirpt數(shù)據(jù)交互
對(duì)于WEB程序來(lái)說(shuō),前端(JavaScript)和后端(JSP/Servlet)是沒(méi)法共用數(shù)據(jù)的,只能是后端程序(JSP)把數(shù)據(jù)輸出,生成頁(yè)面到前端,這時(shí)候生成的頁(yè)面中的JavaScript代碼才有可能得到所謂jsp的數(shù)據(jù)。同樣的,只有把JavaScript里的數(shù)據(jù)提交給后端JSP代碼,JSP程序中才能得到JavaScript的數(shù)據(jù)。??? 那如何實(shí)現(xiàn)在頁(yè)面的JavaScript中使用jsp中的數(shù)據(jù)或是在jsp中使用頁(yè)面的JavaScript數(shù)據(jù)呢?
一、頁(yè)面中的JavaScript的數(shù)據(jù)如何提交給后臺(tái)的jsp程序
??? ① 可以將JavaScript的數(shù)據(jù)以xxx.JSP?var1=aaa&var2=bbb的形式作為URL的參數(shù)傳給JSP程序,此時(shí)在jsp中用
<%String strVar1=request.getParameter("var1");%>就可以獲取到JavaScript腳本傳遞過(guò)來(lái)的數(shù)據(jù);
??? ② 使用JavaScript通過(guò)在表單里加入隱藏域信息,然后用表單提交的方式把數(shù)據(jù)傳遞給JSP程序。
?
?
二、頁(yè)面中的JavaScript的數(shù)據(jù)如何使用后臺(tái)的JSP程序的數(shù)據(jù)
??? 這個(gè)比較簡(jiǎn)單,直接在JavaScript腳本中用<%=strVar1%>就可以把jsp程序中的數(shù)據(jù)傳遞給JavaScript腳本使用了。
三、參考下面例子:
1、test.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%
? String s1="Hello ";
? String s2="World!!";
%>
<script language="JavaScript">
<!--
/***************************************************************
* JavaScript腳本,放置在頁(yè)面中的任何位置都可以
* insertclick()函數(shù)獲取JSP傳遞到頁(yè)面中的變量s1,
* 然后就可以在JavaScript中修改這個(gè)變量的值,再通過(guò)
* post的方式提交給JSP程序來(lái)使用。
***************************************************************/
function insertclick(){
? var1 ="<%=s1 %>";
? document.forms["insertForm"].mc.value = var1 + document.forms["insertForm"].mc.value ;
? document.insertForm.submit();
}
//-->
</script>
<!-- html頁(yè)面form表單,放置在html頁(yè)面中的位置不限 -->
<form name="insertForm" method="post" action="get.jsp">
<!-- 下面這一句是獲取JSP程序中傳遞過(guò)來(lái)的變量值 -->
<input type="hidden" name="mc" value="<%=s2 %>">
<input type="button" value="提交" onclick="insertclick()">
</form>
2、get.jsp
<%
? String strVar1=request.getParameter("mc");
? out.print(strVar1);
%>
posted on 2006-07-13 16:17 zhaofei1394 閱讀(254) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): Java語(yǔ)言基礎(chǔ)