在项目中使用了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
sitemesh装饰模式的强大就不用说了,但使用过程中遇到的最郁闷的莫过于排除装饰action的困扰了,例如使用某个ajax请求要求返回不装饰的数据,但sitemesh却死活给你装饰了,以前用了个小技巧绕过了sitemesh的装饰--在返回的头部声明为xml类型:ServletActionContext.getResponse().setContentType("text/xml;charset=utf-8");
看了文档知道sitemesh默认装饰所有text/html的页面的,要装饰其他类型的页面还得自己配置。
但是总觉得这样很麻烦,况且有些页面是对外公开的api页面,只需要显示内容给其他iframe嵌入,这个时候如何排除呢?
在excludes里面排除的却总是不起作用!
经过查阅文档和不断的实践终于发现无法排除的原因了,原来排除的是相对于url目录层次的,而非文件所在的目录!
<!-- 在excludes元素下指定的页面将不会由SiteMesh来装饰 -->
<excludes>
<pattern>/index.jsp</pattern>
<pattern>/scripts/*.*</pattern>
<pattern>/htmleditor/*.*</pattern>
<pattern>/chart/*.*</pattern>//排除chart目录下的所有action请求
<pattern>/flash/*.*</pattern>
<pattern>/other/*.*</pattern>
<pattern>/remote_requst.action*</pattern>//排除根目录下的remote_requst.action包括带参数的请求,如果action后面不带*则只能排除不带参数的请求
</excludes>
<decorator name="global" page="global.ftl">
<pattern>*.action</pattern>
</decorator>
<decorator name="editor" page="blog.ftl" webapp="/editor/">
<pattern>/editor/*.action</pattern>
</decorator>
<decorator name="browser" page="blog.ftl" webapp="/browser/">
<pattern>/browser/*.action</pattern>
</decorator>
<decorator name="admin" page="admin.ftl" webapp="/admin/">
<pattern>/admin/*.action</pattern>
</decorator>
分享到:
相关推荐
jqueryui界面框架_sitemesh布局框架
综上所述,使用jQuery Mobile和SiteMesh,我们可以有效地将博客网站转换为Mobile版本,同时保持代码的复用性和用户体验的一致性。通过这种方式,开发者可以快速构建出具有专业外观和功能的移动网站,无需从头开始...
jQuery+json+struts2+spring3(事务,AOP,IoC即DI)+hibernte3+EhCache+oscache+proxool+MySQL+SiteMesh+Gzip lj例子
和maven官方例子一样,我学习教程也采用了父工程来管理各个阶段尝试...\babasportrefactoring\babasport1-30 为子model1,Spring3.05 + Strtus2 + JPA(Hibernate) + Sitemesh + Jquery(部分测试页面),同步更新到30讲
它与SpringMVC配合使用,可以将业务逻辑和视图呈现分离,提高代码可读性和维护性。在Velocity模板中,开发者可以通过#set指令设置变量,#if进行条件判断,#foreach进行循环,以及引用Java对象的方法等,实现动态内容...
Jersey Restful Framework部分则聚焦于另一个流行的RESTful框架,它提供了快速启动指南以及一些使用技巧。随后,文档介绍了一系列SpringSide模块,包括Dozer、CXF等,它们都是SpringSide中集成的各种功能模块。 ...
综上所述,这个项目涵盖了从后端到前端的多个技术栈,包括Spring MVC的MVC设计模式、Servlet过滤器的使用、数据库分页的实现、以及Bootstrap和jQuery在前端的运用。对于初学者来说,这是一个很好的综合实践项目,有...
Java EE课程设计报告的核心是基于SpringSide 4.0构建一个综合的教育管理系统,涵盖了多个关键技术,如Spring、Hibernate、JPA、SpringMVC、Sitemesh、Shiro、REST、JQUERY和AJAX。本设计旨在提升学生的WEB编程技能,...
Sitemesh3 Activiti log4j2; 集成示例 用户登录 文件上传下载 文件压缩 Excel导入 JQuery联想搜索 Activiti工作流 如何跑起来? 初始化数据库以MySQL为例 a. 创建数据库demo b. 创建activiti相关表,执行目录下所有...
- `struts2-sitemesh-plugin`: 集成了Sitemesh,用于页面布局和装饰,可以统一网站的外观和风格。 5. **动作(Action)支持**: - `struts2-json-plugin`: 提供JSON支持,使Action可以直接返回JSON格式的数据,...
前端方面,使用了`jQuery`、`Bootstrap`、`JQuery Validation Plugin`等库来提升用户体验。 总结来说,这个架构方案利用了各种分布式技术和组件,构建了一个高效、可扩展的企业级互联网应用平台,旨在满足大型企业...
- 考虑到性能问题,可以使用`ROW_NUMBER()`等函数(如在MySQL和SQL Server中)配合子查询实现分页。 8. **前端交互**: - 前端通常会通过AJAX实现动态加载,当用户点击分页按钮时,发送异步请求,更新页面内容。 ...
本手册所介绍的系统主要使用了Spring4.3.0、SpringMVC4.3.0、MyBatis3.4.0、ApacheDruid1.0.20、Activiti5.21.0、Shiro1.2.5、HibernateValidator5.3.0、JqueryValidator、MySQL(mariaDB替代方案)、Sitemesh3等技术...
其他技术包括:`HibernateValidator`做服务端验证,`SiteMesh`处理页面布局,`Quartz`用于定时任务调度,`SLF4J`和`Log4j`的日志管理,`Apache Commons`、`Jackson`、`Xstream`、`Dozer`等工具类,以及`JQuery`、`...
7、SiteMesh 2.4 8、JQuery 1.9 9、Twitter Bootstrap 2.3.1 10、....其他技术就不讲了,具体参考项目 项目访问: 1)后台后台访问地址:http://localhost:8989/jeesite3/ 用户名:thinkgem(原作者名字)密码:...
EasyUI是一个基于jQuery和Bootstrap的后台管理框架,提供了一系列易于使用的UI组件,如表格、树形结构、对话框等。它可以帮助开发者快速构建美观的管理界面,同时支持响应式设计,适应不同设备。 4. LayUI LayUI...
使用技术: 1、后端 核心框架:Spring Framework 4.3.5 安全框架:Apache Shiro 1.3.2 视图框架:Spring MVC 4.3.5 任务调度:Spring + Quartz 2.2.3 持久层框架:MyBatis 3.4.2 + Mybatis-plus 2.0.1 数据库连接池...
特征Appstats支持Google AJAX库API(jQuery) 墓碑整合JRebel支持本地开发控制台支持( ) Maven支持通过yuicompressor-maven-plugin进行CSS / JS压缩使用maven-gae-plugin 远程API /批量加载程序支持Sitemesh集成...
10. **MVC 插件**:Spring MVC 还支持多种插件,如 Tiles、SiteMesh 等,用于页面布局和装饰。 在实际开发中,开发者通常会结合其他 Spring 组件,如 Spring Data(用于数据库操作)、Spring Security(用于安全...