JSP傳遞引數到JS中的方法和問題
阿新 • • 發佈:2019-01-07
在做校工會系統時,遇到一個問題,登陸成功後,spring security會存放使用者資訊到session中,使用者執行某個功能的時候,需要用到使用者的資訊,所以此時需要從session裡取,但客戶端的js無法直接取伺服器的session的值,所以只好通過jsp來間接獲取。那麼問題來了,如何將jsp的變數,傳遞給js?網上的方法多得是。。。。但我這裡統一編碼utf-8,所以他們說的方法都沒用。。。。。。
舉個栗子,jsp:
<script type="text/javascript" charset="UTF-8"> <% String eng="english"; String cn="中文"; %> var var1=<%=eng%>; var var2=<%=cn%>; </script>
js:
alert(var1);
alert(var2);
乍一看還沒什麼問題。。。。alert的時候問題就來了。。。輸出的是undefined。。。
解決方法:
將jsp中的最後兩句改成:
var var1="<%=eng%>";
var var2="<%=cn%>";
這個問題真是哭笑不得,解決的方法竟然是給jsp變數加上一對雙引號就可以了!估計是因為js是弱型別語言。。。轉換過程中出錯了。。。