我正在Eclipse中创建一个动态Web项目(几乎从头开始),我创建了一个JSPX文件,我放了
<head>...
<script type="text/javascript" src="route/to/scripts/jquery.js"></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script>
<script type="text/javascript" src="route/to/scripts/something.js"></script>
</head>
我打算使用Jquery UI sortable,我发现使用JSPX,只有第一个脚本在Firefox和IE中加载(而在Opera中它可以工作......)。如果我使用普通的JSP,无论是HTML的XHTML,它都会加载所有的JS文件。
有没有办法在不使用
的情况下成功包含所有JS文件<script>
<jsp:include ...>
</script>
我必须知道吗? (因为这个将脚本加载到最终的(X)HTML中)
编辑:想一想......为什么Opera在读取<script>
标签时FF和IE失败时读取了xhtml?这可能是个错误吗?
答案 0 :(得分:11)
JSPX具有古怪的行为,它可以自动折叠没有正文的标签。如此有效
<script type="text/javascript" src="route/to/scripts/jquery.js"></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script>
<script type="text/javascript" src="route/to/scripts/something.js"></script>
将以浏览器结尾
<script type="text/javascript" src="route/to/scripts/jquery.js" />
<script type="text/javascript" src="route/to/scripts/jquery.ui.js" />
<script type="text/javascript" src="route/to/scripts/something.js" />
这是无效的<script>
语法(在浏览器中右键单击页面并执行查看源以自行查看)。浏览器行为未确定。
您可以通过在代码
之间添加<jsp:text />
来解决此问题
<script type="text/javascript" src="route/to/scripts/jquery.js"><jsp:text /></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"><jsp:text /></script>
<script type="text/javascript" src="route/to/scripts/something.js"><jsp:text /></script>