JSP中的变量为什么在JavaScript中不能用?
代码片断如下:
<body>
<input name= "username " type= "text " id= "username " size= "20 " >
<input name= "password " type= "password " id= "password " size= "20 ">
<select name= "CorpSelect " id= "CorpSelect " onClick= "CorpListSet(); ">
<%
UnsafeInvoke invoke=new UnsafeInvoke();
String corps= " ";
String temp=invoke.unsafeWebGetCorplist(false);
corps+= " <option> ";
corps+=temp;
corps+= " </option> ";
out.println(corps);
String aaa= "aabbcc ";
%>
</select>
<script language= "javascript ">
function CorpListSet(){
alert( " <%=corps%> ");
}
</script>
</body>
UnsafeInvoke是我自己定义的JAVA类,unsafeWebGetCorplist是类中的方法,这个没什么问题,因为动态获取下拉框中的内容已经填充,说明corps这个变量已经被赋值了.但是为什么在脚本中alert( " <%=corps%> ")的时候,一点反应也没有呢?为了测试在JSP中定义了一个变量String aaa= "aabbcc ";,然后alert( " <%=aaa%> ");就可以弹出对话框的.
------解决方案--------------------在js里面欠 <%%> 这样的东西不太好,你可以用隐藏表单 <input type= "hidden " name= "hidden " value= "test " > 你可以把 <%%> 这玩意放到 value= " <%%> "这里面来,然后你再用js获取这个hidden的值 ......
见意: <%%> 这玩意能不用最好就不要用
java交流群(QQ群:45459926),有意思的可以加入
------解决方案--------------------應該是時間延遲問題
你兩個一起試一下
alert( " <%=aaa%> ");
alert( " <%=corps%> ");