2012-06-06 22 views
2

我有一个非常奇怪的问题: 我在我的应用程序中使用了Spring Framework 3.0.5。为了渲染我使用Tiles框架的视图。JSPX在Spring应用程序解析后发生jQuery错误

这是布局JSPX文件的来源:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:tiles="http://tiles.apache.org/tags-tiles" xmlns:spring="http://www.springframework.org/tags" xmlns:util="urn:jsptagdir:/WEB-INF/tags/util" > 
<jsp:output doctype-root-element="html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>   
<jsp:output omit-xml-declaration="yes"/> 

<head> 

</head> 

<body> 
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/jquery.js"></script> 
    <img id="testimg" src="${pageContext.request.contextPath}/resources/images/logo.png" onclick="$(this).fadeOut()" /> 
</body> 

现在的问题:我每次加载页面的时候,我从jQuery呼叫,没有进一步的JS代码得到一个JavaScript错误执行:

Error: c.removeAttribute is not a function 

但是,如果我复制页面的源代码,并将其粘贴到本地文件,并用浏览器打开它,一切都很好(不同的是,在Tomcat不交付页面)。

呈现的页面看起来是这样的:正确显示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head /> 
<body> 
    <script src="/myContext/resources/js/jquery.js" 
    type="text/javascript"> 

    </script> 
    <img onclick="$(this).fadeOut()" 
    src="/myContext/resources/images/logo.png" id="testimg" /> 
</body> 
</html> 

的图像,并且还加载了query.js。 我真的用完了想​​法。我希望有一个人可以帮助我!!

在此先感谢!

更新: 只有Safari和FF才会出现此效果。在谷歌浏览器它的作品! 我忘记提及,我正在使用Mac ...

回答

0

你已经提到你正在使用JSPX。我建议你尝试添加<script></script>之间的评论,这是

<script ...> <!-- please keep me --> </script> 

否则,JSPX编译器将会使<script>标记为<script .../>,当浏览器呈现它,这将是错误的。 (这是我猜想的,我认为它应该是正确的。)

我不知道详细的原因,但我遇到了同样的问题,并且我使用该方法修复了它。如果你能弄清楚详细的原因,请告诉我。

谢谢!

相关问题