我正在尋找傳遞一個servlet變量myVar傳遞給JSP頁面並將其傳遞給JavaScript。 JavaScript是包含在JSP頁面中的外部JavaScript。將一個servlet變量傳遞給javascript
我有一個調用JavaScript函數的按鈕,但我無法傳遞任何通過servlet傳遞到JSP頁面的變量。該按鈕不是表單的一部分。
我試圖在JavaScript中的函數調用:
var x = '<%=myVar%>';
和
var x = '${myVar}';
和
var x = '<%= (String)request.getParameter("myVar") %>';
然而,x
始終是什麼,我輸入一個字符串。
我沒有使用AJAX或JQuery。有任何想法嗎?
示例代碼是一個簡化版本:(因此,按鈕實際上是一個下拉菜單,當我更改該值時會調用js,但是,我希望其他變量不屬於下拉菜單中的其他變量,可以在changeCLass中調用)
的Servlet側:
request.setAttribute("otherVars","tests");
JSP:包括在JSP
<script type="text/javascript" src="external.js"></script>
<select name="vars" id="myVars" onchange="changeClass(this)">
<option value='1' selected="selected">1</option>
</select>
external.js:
function changeClass(newVarX) {
var newVarId =newVarX.value;
var tID = '${otherVars}';
alert(newVarId + " " + tID);
}
輸出: 1 $(otherVars}
但輸出應該是: 1測試
此代碼從外部文件獲取? – rano
@ user1798546簡單的做法是創建一個隱藏字段,用於存儲值並從中獲取值。另一種方法是將變量作爲參數傳遞給js函數 ''button onclick ='someFunction(<%=(String)request.getParameter(「myVar」)%>)'>調用函數' –
它會是更好地解釋你的應用程序如何表現atm(使用代碼示例)以更好地理解並提供更好的解決方案 –