js中變數和jsp中java程式碼中變數互相訪問解決方案

shiyanmagic發表於2010-07-29

1。js變數獲取jsp頁面中java程式碼的變數值。
 方法:var JS變數名 = <%=JAVA變數名 %> 
2。java程式碼獲取js變數的值。
 說明:在JSP中;Java部分是在伺服器端執行的;js部分是在客戶端的瀏覽器執行的;二者完全不相干。因此直接在JSP頁面上是無法在js、java和HTML變數之間進行呼叫的。
 變通(解決方案):將js變數放到form中的一個;在後臺從form中取出變數放到隱藏域中;然後提交表單給要呼叫變數的頁面。這個頁面可以就是本身。示例如下:
 bb.jsp頁面:
    <% String test5 = (String)request.getAttribute("test4"); %>
      <script type="text/javascript">
       var test1 = '111'; //定義js變數
       document.form.test2.value = test1;
       //將js變數的值放到form中的一個隱藏域中
       var formObj = document.getElementById('passForm');
       formObj.submit();
      </script>
     <form  method="post" action="aa.jsp" id ="passForm">
     <input id = 'test2' type = 'hidden' name="test2">
     </form> 
  aa.jsp頁面中的Java程式碼:
  <%
    request.setCharacterEncoding("utf-8");
    String txtMsg = request.getParameter("test2"); 
    out.println(txtMsg);
  %> 
 注:如果同一個頁面自己給自己傳值,aa.jsp和bb.jsp可以為同一頁面。

 
 

相關文章