㈠ jsp與js之間變數賦值
在寫jsp中有時會需要把js的變數賦給java變數,或者將java的變數賦給js變數的情況,如果js處理的不好只能獲取到undefined,java處理不好就只能獲取到null。因此這次做個小筆記,記錄一下~
java變數傳給js:
var writer="<%=user.getUsername() %>" //這里的user是自己實例化的對象, 注意要將引號」"加上 ;否則alert(typeof (writer) );的值是undefined
java接收js傳來的值:
js的值如果是undefined,那傳到後台的值也就是null了。
㈡ jsp調用js的變數
SP 頁面通常嵌入 JS 代碼,且 JS、JSP之間需要相互使用一些變數的值,但JSP代碼在伺服器運行、JS代碼在客戶端瀏覽器運行,所以涉及到JS和JSP值傳遞問題。其交互方式如下:
JS使用JSP中的變數:
<%
String test ="I am testing !"; // JSP片段中定義變數
%>
<SCRIPT LANGUAGE ="JavaScript">
var tmp ="<%=test %>"; // 通過"<%=javaCode %>"引用jsp中的變數、方法等,注意:一定要加雙引號
alert(tmp);
</SCRIPT >
(2)jsp頁面使用js中的變數擴展閱讀
Js文件函數中調用另一個Js文件函數的方法:
在項目中Js文件需要完成某一功能,但這一功能的大部分代碼在另外一個Js文件已經完成,只需要調用這個文件實現功能。
html 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>html文件</title>
</head>
<body>
<script src="a.js"></script>
<script src="b.js"></script>
</body>
</html>
㈢ 在jsp頁面中java代碼獲取js裡面var變數的值
jsp頁面中在java語句裡面要想獲取js的變數的值,你可以試試使用request對象
㈣ 如何在jsp中引用js變數
jsp中是不能引用js變數的,jsp是服務端的,在伺服器轉發的時候數據已經定死內在頁面裡面了
,而js是客戶端的,可以不斷通過客戶端代碼來修改js的值,因此js的值不能賦值給jsp的。如果硬要賦值的話可以虛擬一個表單提交,例如:
<form id="testForm" method="post" action="當前頁面.jsp">
<input type='hidden' id="test1" name="val1" value="js的值">
</form>
<script>document.getElementById('testForm').submit()</script>
<% String val=request.getParamter('val1') %>
這樣就可以了,容但是表單已經提交過一次了,一次轉發攜帶的數據將會丟失!
㈤ 如何在JSP中使用javascript里定義的變數
js用jsp裡面定義的變數,方法是var a='<%=變數名%>';的形式
jsp使用js定義的變數,只能使用js代碼,將對應的變數放到表單裡面或通過url(window.open拼接上變數)的方式。傳遞給jsp.
㈥ js怎麼引用JSP里定義的JAVA變數
可以將JAVA變數在JSP頭部定義成全局變數。
然後可以分別在JS和JSP里調用。
因為可以將JS和JSP理解為兩個相互獨立的塊。這2個塊裡面的變數都是局部變數。而局部變數是不共享的。
首先很基礎的:JS可以直接引用JAVA變數,但JAVA不能引用JS變數。因為頁面是先編譯JAVA再編譯JS,代碼如下:
String tbname="bd_bank";
out.write("<SCRIPT language="+"'"+"JavaScript"+"'"+">var tbname="+"'"+tbname+"'"+";</SCRIPT>");
%>
//下面的javascipt可以直接調用變數tbname
<script language="javascript">
alert(tbname);
</script>
//在js文件中的javascipt一樣可以直接使用變數 tbname 啊。
<script language="JavaScript" src="../comm/dbgrid.js"></script>
反正兩個原則記好:
1、jsp代碼中可以構造javascipt語句,當然包括定義備用的javascipt的變數
2、理論上在整個頁面中,任何一個地方定義的javascript代碼都可以被正確使用。javascipt代碼對位置不敏感。
㈦ 怎麼在jsp頁面用js中定義的變數
你可以把java代碼傳入到作用域中. request.setAttribute("變數名",變數值); 之後你再用el表達式將作用域中的值拿出來就可以${變數名} 這個可以在jsp頁面的任意位置使用。
㈧ jsp怎麼直接獲取js的變數值
Java的變數值,理論上在js中是不能獲取,但是可以通過間接的方式來獲取。
提供兩種思路供參考:
1、把java變數的值存在cookie中,js通過cookie去取;
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
var value= getCookie("cookie的name名");
2、把java變數的值賦值給頁面中<input type="hidden"/>的value,通過js去取;
var value=document.getElementById("hidden的ID").value;