本文目錄一覽:
js中怎麼獲取java中的變數
js與java是不同語言,運行在不同環境下,因此無法直接獲得對方數據。brjava運行在伺服器端,在同一個jsp文件中,java先運行,js後運行,java可以生成一段js代碼,保證js運行得到相應的結果,因此可以用java定義js變數的方式來傳遞數據,例如:brbr1br2br3br4brbrscriptbrvar url=”%=url%”;bralert(username);br/scriptbrbr上面例子,%%中的內容會在伺服器端運行,在「」中間輸出網址,瀏覽器就會載入下面的結果:brbr1br2br3br4brbrscriptbrvar url=”gif8.cn”;bralert(url);br/scriptbrbr這部分就是標準的js代碼了。brbr 本回答由電腦網路分類達人 呂明推薦
如何在javascript中獲取java變數值
說明:在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可以為同一頁面。
怎麼在js中取java變數的值,朋友們幫忙說說
function test(){
var g = “${first_Name}”;
alert(g);
}
“%=first_Name%”; 這種方式只能取道jsp頁面上定義的變數
比如
a.jsp:
%@ page contentType=”text/html;charset=GB2312″ %
HTML
%! String a = “aaaaa”;%
BODY BGCOLOR=cyan
FONT Size=1
P這是一個簡單的JSP頁面
BR
/FONT
%=a %
${a };
/BODY
HTML
在跳轉到該jsp頁面的servlet中在request中設置了一個a
效果如下:
這是一個簡單的JSP頁面
aaaaa serveta;
原因很簡單:
對於每個jsp,伺服器(比如tomcat)都會將其轉換成java文件(後綴.java的文件),然後將其編譯成class文件
“%=%”就是從這個java文件中去取變數值
而”${}”則是從容器中的四個區域去取值(page,request,session,application)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272239.html