由于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代码如下:
出问题的地方:
</script>
这样写的情况最终编译出来的是
这就会让IE在运行时出现错误,造成无法显示的情况。
解决办法:
</script>