可以將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代碼對位置不敏感。
Ⅱ js為什麼取不到jsp中的變數的值
1、你確定你在jsp 變數是全局變數;
2、引入js,放在最後,如下:
jsp:
<html>
<head></head><body></body>
//js引入必須放在這個位置
<script src="你的js"></script>
</html>
Ⅲ 我想在jsp頁面中用js獲取s:property中的value要怎麼辦
jsp頁面中用js獲取s:property中的value的做法是在js中利用單引號對界定s:property取值。如下:
var url = '<s:property value="#urlBack"/>'
1、jsp文件定義如下:
<tr>
<td height="6%"align="center">
<s:submit cssClass="button" key="common.initDelegate.label" align="center" theme="simple"/>
<s:url id="urlBack" action="myAction" includeParams="none" escapeAmp="false">
<s:param name="period.periodId" value="%{period.periodId}"></s:param>
</s:url>
<input type="button" onclick="javascript:cancel()" value="<s:text name="common.button.cancel"/>"/>
</td>
</tr>
2、js函數寫法如下:
function cancel() {
if (!isModified || (isModified && askConfirmCancel())) {
window.location.replace('<s:property value="#urlBack"/>');
}
}
這樣就是可以通過'<s:property value="#urlBack"/>'傳值給js函數 window.location.replace了。
Ⅳ jsp調用js的變數
1、首先在jsp頁面上,定義二個變數。
Ⅳ 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 >
(5)js獲取jsp頁面的變數擴展閱讀
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怎麼獲取本頁面中js中的變數的值
jsp是無法直接或取頁面中js變數的值,但是可以通過間接的方法,用html的方法
例如:專
<input id="data" type="hidden" value="你想要的屬數據" />
在html里定義一個上面的標簽,把js的值放到標簽里,然後jsp去獲得這個值
Ⅶ 在js中可以引用jsp中的數據嗎
你好,
通常來說是可以的。我給你列舉兩種方法,你根據你的情況選擇適合你的吧。
方法一:將jsp中的變數輸出到html中的type為hidden的input中,js從input中去取值
<!--jsp頁面中的input元素-->
<inputtype="hidden"value="<%=serverData%>"id="J_ServerData">
<!--
當然,掛在某一個DOM元素的屬性上也是可以的
<divid="J_DataDiv"data-server-data="<%=serverData%>">頁面中的任意DOM節點</div>
-->
<script>
//JS中讀取jsp頁面中輸出到頁面中的值
varinp=document.getElementById('J_ServerData');
//如果是div
//varnode=document.getElementById('J_DataDiv');
//取值
varserverData=inp.value;
//如果是屬性
//varserverData=node.getAttribute('data-server-data');
console.log(serverData);
</script>
方法二:JS可以通過AJAX與服務端通信,只需服務端封裝一個JSP介面,前端即可取到服務端數據,以jQuery為例
$.ajax({
url:'server_addr/api.jsp',
type:'get',
success:function(data){
//data就是服務端(jsp)返回的數據
console.log(data);
}
});
大致就這么多,希望能解決你的疑惑,如有疑問可追問~