在jsp頁面中js獲取java中變數的值
阿新 • • 發佈:2019-01-27
1。通過<%=java變數%>
的方式賦值給js變數。
1、定義一個java變數
<%
String a = "222";//定義一個string型別的java變數
%>
2、輸出給js
var k = <%=a%>;輸出變數值給k,這是的k是222
補充:
<% %> 標識裡面的是jsp程式碼,可以定義java變數
<%=變數 %> 輸出java變數資訊
2。js變數獲取jsp頁面中java程式碼的變數值。
方法:var JS變數名 = <%=JAVA變數名 %>
我們常常會將js檔案和jsp檔案分開寫,在js檔案中,上面的方法似乎不管用了。
也可以通過變通的方法來解決:
a.jsp
<% String name = "zhangsan" %>
<input type=”hidden“ name=“a” id="a" value="<%=name%>"
aa.js
var n = document.getElementById('a').value;
使用jquery這樣做也更方便
3。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可以為同一頁面。