<%
String str = "hello";
//假設有個String
%>
<script>
//js代碼
var str='<%=Str%>';
//注意 這里一定要加上''要不然 沒法解釋成正確對象
<script>
『貳』 JS調用JSP中的變數問題
js獲取jsp頁面的參數的方法如下:
第一種寫法:
if('${method}'=="add"){js代碼段專屬1}else{js代碼段2}
第二種寫法:
<%if(request.getAttribute("method")!= null&&request.getAttribute("method").equals("add")){%>
js代碼段1
<%}else{%>
js代碼段2
<%}%>
『叄』 在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);
}
});
大致就這么多,希望能解決你的疑惑,如有疑問可追問~
『肆』 怎麼在jsp頁面用js中定義的變數
你可以把java代碼傳入到作用域中. request.setAttribute("變數名",變數值); 之後你再用el表達式將作用域中的值拿出來就可以${變數名} 這個可以在jsp頁面的任意位置使用。
『伍』 如何在JSP中使用javascript里定義的變數
js用jsp裡面定抄義的變數,方法是var a='<%=變數名%>';的形式
jsp使用js定義的變數,只能使用js代碼,將對應的變數放到表單裡面或通過url(window.open拼接上變數)的方式。傳遞給jsp.
『陸』 在JSP中怎麼調用JS定義的變數
應該不行,所有的java代碼,是在伺服器端先編譯的,然後javascript到了客戶端才能編譯,順序已經決定了不可以。你只能再次通過和伺服器交互,來傳遞var a的值了。
『柒』 jsp調用js的變數
1、首先在jsp頁面上,定義二個變數。
『捌』 如何在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') %>
這樣就可以了,容但是表單已經提交過一次了,一次轉發攜帶的數據將會丟失!