在编写JSP标签语言时,引用JS的BUG和解决办法

由于XHTML语法的关系,某些服务器(我在TOMCAT 5.5上遇到) 会将复杂形式的空元素,化为最简形式,导致了XHTML语法上出现某些错误。

下面是这段JSP代码,在语法上是没有问题的,但是执行后却无法正确显示

<?xml version="1.0" encoding="GB18030" ?>
<jsp:root xmlns:jsp="
http://java.sun.com/JSP/Page" version="2.0">
    <jsp:directive.page language="java"
        contentType="text/html; charset=GB18030" pageEncoding="GB18030" />
    <jsp:text>
        <![CDATA[ <?xml version="1.0" encoding="GB18030" ?> ]]>
    </jsp:text>
    <jsp:text>
        <![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ]]>
    </jsp:text>
<html xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>在编写JSP标签语言时,引用JS的BUG和解决办法</title>
<script type="text/javascript" src="myjs.js" >
</script>
</head>
<body>
<button οnclick="showMyBlog();">显示</button>
</body>
</html>
</jsp:root>

myjs.js代码如下:

function showMyBlog() {
 var myblog="
http://blog.csdn.net/cds27/ ";
 alert(myblog);
}

出问题的地方:

<script type="text/javascript" src="myjs.js" >
</script>

这样写的情况最终编译出来的是

<script type="text/javascript" src="myjs.js" />

这就会让IE在运行时出现错误,造成无法显示的情况。

 

解决办法:

<script type="text/javascript" src="myjs.js" >//
</script>

在</script>前加上//符号就行了,目的是要让编译器不把这个地方写成空元素的简化形式。之所以用//的原因是,这个地方不需要语句,用//字符最省字节,对程序又不会造成影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值