我让 下拉列表默认显示jsp页面 接收session存储的 对象的值 写了一个 JavaScript function showSel(){
showMethod('selarea2','${updateinfo.area}');
showMethod('selsur','${updateinfo.isSurrogate}');
showMethod('selshape','${updateinfo.houseShape}');
showMethod('seltype2','${updateinfo.houseType}');
showMethod('seltotal','${updateinfo.totalFloor}');
showMethod('selat','${updateinfo.atFloor}');
}
function showMethod(selobj,strutsvalue){
var obj=document.getElementById(selobj);
for(var i=0;i<obj.length;i++){
if(obj.options[i].value== strutsvalue){
obj.options[i].selected=true;
}
}
}然后用onload 事件 就可以显示 写在页面能够成功 但是 我把它写进 js文件 然后 用 <script type="text/javascript" src="***.js" > 这样写 却没有了效果
大家帮我解释下是什么原因
showMethod('selarea2','${updateinfo.area}');
showMethod('selsur','${updateinfo.isSurrogate}');
showMethod('selshape','${updateinfo.houseShape}');
showMethod('seltype2','${updateinfo.houseType}');
showMethod('seltotal','${updateinfo.totalFloor}');
showMethod('selat','${updateinfo.atFloor}');
}
function showMethod(selobj,strutsvalue){
var obj=document.getElementById(selobj);
for(var i=0;i<obj.length;i++){
if(obj.options[i].value== strutsvalue){
obj.options[i].selected=true;
}
}
}然后用onload 事件 就可以显示 写在页面能够成功 但是 我把它写进 js文件 然后 用 <script type="text/javascript" src="***.js" > 这样写 却没有了效果
大家帮我解释下是什么原因
showMethod('selarea2','${updateinfo.area}');
showMethod('selsur','${updateinfo.isSurrogate}');
showMethod('selshape','${updateinfo.houseShape}');
showMethod('seltype2','${updateinfo.houseType}');
showMethod('seltotal','${updateinfo.totalFloor}');
showMethod('selat','${updateinfo.atFloor}');
}你把这个函数也写在了 ***.js 文件里了?那就肯定错了
你需要搞清楚那些是在服务器上执行的 那些实在客户端执行的
JSTL标签是要在服务器上编译好然后发送给客户端的,*.jsp 都会生成*.java 然后编译成*.class 在被访问的时候生成HTML发到浏览器上 *.js等静态内容会直接发给浏览器解析
所以,把含有 表达式 的JS抽出来肯定会出问题的
给2个方法:
1.可以抽出js文件,但是将 '${updateinfo.atFloor}'赋值给JS的对象
eg.var atFloor = '${updateinfo.atFloor}'然后再JS里面使用这个变量 而非表达式
2.把含有表达式的函数放在JSP文件里面