程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> java變量和javascript變量之間的傳遞示例

java變量和javascript變量之間的傳遞示例

編輯:關於JSP
最近在用jsp做一個網站,其間涉及到java變量和javascript變量之間的互換,雖然網上資料眾多,但是眾說紛纭,並且很多都是帶有誤導性,做了許多嘗試,終於比較清楚的搞懂了這個問題。通俗一點來講,就是說java代碼是運行在服務器上的,返回的值只是靜態的存在於頁面,而javascript是腳本語言,是運行在客戶端的!它們是兩種完全不同的語言,變量不能直接進行交換,但是通過一定的方式,變量可以傳遞。

java變量傳遞給javascript變量,這個比較簡單,就是平時的普通方法就好:
復制代碼 代碼如下:
var cnt = <%=number%>;

注意別漏掉等號!這個沒什麼問題。

javascript變量傳遞給Javab變量,這個稍微復雜一些,但是清楚了原理其實也很簡單,這邊主要是通過表單提交以及表單元素來獲取和進行操作:
復制代碼 代碼如下:
<script language="javascript">
function button_click(cnt) {
++cnt;
document.submitForm.msg.value = cnt;
document.submitForm.submit();
}
</script>

復制代碼 代碼如下:
<%
number = request.getParameter("msg");
if(number==null)
number="1";
RdData.setIndex(number);
RdData.readData();
out.println("<br />");
out.print(RdData.getIndex() + ".");
out.print(RdData.getTitle());
out.println("<br />");
out.println("A." + RdData.getStrA());
out.println("<br />");
out.print("B." + RdData.getStrB());
out.println("<br />");
out.print("C." + RdData.getStrC());
out.println("<br />");
out.print("D." + RdData.getStrD());
%>
<input name="index" type="text" value="<%=RdData.getIndex()%>" />
<input type="button" value="btn" name="bt" onclick="button_click(<%=number%>)">
<form name="submitForm">
<input type="hidden" name="msg" value=<%=RdData.getIndex()%>/>
</form>

特別注意表單和javascript代碼部分!通過表單的隱藏元素把數據庫取出來的一個數據傳給處理函數,進行相關操作後,提交表單,java代碼通過request.getParameter()獲取,就OK啦~~~其實當時挺糾結的一個問題是變量不同步,因為我要實現的功能是每點擊按鈕一次計數器加一並對數據庫進行一次讀操作,如果計數器不一致就會直接導致讀取的順序問題,刷新頁面是可以解決問題,但是一直刷新也不是個好辦法。於是想到傳一個參數進去,OK,好了
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved