使用SiteMesh和Jquery的一些问题
在项目中使用了SiteMesh框架修饰jsp页面,同时使用了jquery的页面要注意以下一些问题:
1、必须将js文件放在</head>之前或者<body></body>之间,如果放在</head>和<body>之间的话,被修饰的jsp页面将不会引人这些js,导致不能执行脚本。
2、sitemesh的修饰
???? 它通过过滤器(filter)来拦截页面访问,并根据被访问页面的URL找到合适的装饰模板,然后提取被访问页面的内容,放到装饰模板中合适的位置,最终将装饰后的页面发送给客户端。因此如果被修饰页面用到了jquery,就要在自己的页面中加入jquery.js文件,不要写在sitemesh模板页里面,否则很可能出现"Jquery un defined"异常。
3、如果被装饰的页面的body有onload方法,则不会执行该onload方法,因为只是加入body内部的内容。可以使用jquery的ready方法替代onload方法。
???? 可以通过 sitemesh的 配置解决。
?
??? 备注:
http://czy-sysu.iteye.com/blog/646665
?
4.?? 一定在要decorators.xml文件中 排除不需要装饰的文件
??? <excludes>
??? ?<pattern>*/ajax/*</pattern>
??? ?<pattern>*.js</pattern>
??? ?<pattern>*.css</pattern>
??? ?<pattern>*.html</pattern>??? ?
??? ?<pattern>*.jws</pattern>
??? ?<pattern>/test/*</pattern>
??? </excludes>
?
http://coos.group.iteye.com/group/wiki/1802-action-to-exclude-sitemesh-decoration-tips
?
??<pattern>*.action</pattern>