js中變量和jsp中java代碼中變量互相訪問解決方案

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能夠爲同一頁面。javascript

 

傳遞的java變量通常應該是表示數字或者字符串的變量,複製給js變量必定要用引號括起來,若是java變量值含有引號,很差意思了你還得作轉義。java

相關文章
相關標籤/搜索