日期:2014-05-17  浏览次数:20698 次

遇到一个很坑爹的事!!求解
当我有外部script来写代码的时候会出现乱码情况,并且
HTML code

document.getElementById("classno" + num).innerHTML = "<select name='classno'> <%for( myClass myc : classnos){%> <option value='<%=myc.getId() %>'> <%=myc.getClaName() %> </option> <%} %> </select>"


这行代码不会显示出来。

而当我把外部script变成内部script代码的时候一切都解决了,包括乱码也解决了。

求解!!~~~~~~~ 求解·!!!!!

------解决方案--------------------
乱码可能是单写的js的代码与jsp的编码方式不一样。
不显示的原因是由于你js内部使用了<%%>这种jsp特有的,这种内部的代码需要编译的,但是js的代码由于没有放到jsp中,所以编译器没有编译到这部分代码的缘故吧。
------解决方案--------------------
8楼理解是对的。

所谓“标签中的HTML就会被换成我设置的属性”,这个事情是在浏览器端发生的,跟服务器没有关系了。

而且你载入JS文件已经是第二次请求了,浏览器访问JSP页面是第一次,跟之前的JSP已经没有任何关系了。

浏览器在载入JS文件时,对于服务器端来说,提供一个JS文件跟提供一个JPG文件没啥区别,就是直接把这个文件发给浏览器,期间不做任何处理。