如何將JSP中的java程式碼中的值,傳入JS程式碼中去
經過大半天的研究摸索,終於弄明白怎麼把JSP中的java程式碼中的值,傳入JS程式碼中去。
由於自己才剛剛開始接觸javaWEB 開發,今天在那兒做使用者登入功能,使用者在未登入時顯示“登入”連結,登入後在原來“登入”的地方,改變為使用者的暱稱!由於自己一點經驗也沒有,以為就一個session就夠了,在java程式碼中獲取使用者名稱,而直接在JS程式碼中將他顯示出來,其實這樣是做不到的。這是我經過了大半天的研究發現的。
必須要用個隱藏的表單,才能夠將他傳進去
例:
<%
String username=null;//申明一個使用者名稱變數
if(session.getAttribute("loginUser")!=null){//如果session中有值
BBSUsers user=(BBSUsers)session.getAttribute("loginUser");//將session的值獲取,這兒我是在賦值時賦的使用者物件
username=user.getUname();//取出使用者的暱稱
}
%>
<input type="hidden" id="username" value="<%=username %>"/>//關鍵地方:建個隱藏表單,將java程式碼中需要取出的值獲取到
<script type="text/javascript" language="javascript">
function showUser(){
var user=document.getElementById("username").value;//通過那個隱藏表單就獲取到了需要的值,成功傳入JS程式碼中
if(user!=null){
var o=document.getElementById("login");
o.innerHTML="歡迎你,"+user+"!";
}
}
</script>
<body onload="showUser()">//窗體載入時呼叫