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程序。
?
?
二、頁面中的JavaScript的數據如何使用后臺的JSP程序的數據
??? 這個比較簡單,直接在JavaScript腳本中用<%=strVar1%>就可以把jsp程序中的數據傳遞給JavaScript腳本使用了。
三、參考下面例子:
1、test.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%
? String s1="Hello ";
? String s2="World!!";
%>
<script language="JavaScript">
<!--
/***************************************************************
* JavaScript腳本,放置在頁面中的任何位置都可以
* insertclick()函數獲取JSP傳遞到頁面中的變量s1,
* 然后就可以在JavaScript中修改這個變量的值,再通過
* post的方式提交給JSP程序來使用。
***************************************************************/
function insertclick(){
? var1 ="<%=s1 %>";
? document.forms["insertForm"].mc.value = var1 + document.forms["insertForm"].mc.value ;
? document.insertForm.submit();
}
//-->
</script>
<!-- html頁面form表單,放置在html頁面中的位置不限 -->
<form name="insertForm" method="post" action="get.jsp">
<!-- 下面這一句是獲取JSP程序中傳遞過來的變量值 -->
<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) 評論(0) 編輯 收藏 所屬分類: Java語言基礎