1. 程式人生 > >JSP傳遞引數到JS中的方法和問題

JSP傳遞引數到JS中的方法和問題

在做校工會系統時,遇到一個問題,登陸成功後,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是弱型別語言。。。轉換過程中出錯了。。。