- 前端:JSP和Servlets,或jakarta的velocity
- 控制层框架 Controller : (Struts/Webwork)
- 业务逻辑 Business :主要业务逻辑
- 持久化框架:hibernate/jdo
二、Decorators介绍
三、环境配置
- jar包:在WEB-INF/lib目录下导入:sitemesh-2.3.jar
- tld包:在WEB-INF目录下装入:sitemesh-decorator.tld 和 sitemesh-page.tld
- 配置文件xml:在WEB-INF目录下有2个配置文件:sitemesh.xml(可选) 和 decorators.xml
- 在WebRoot下建立自己的装饰器即可,如_decoratos/main.jsp
1. sitemesh.xml文件:一般不用建立它,默认设置足够了(com/opensymphony/module/sitemesh/factory/sitemesh-default.xml)。它可以设置2种信息:
- Page Parsers:负责读取stream的数据到一个Page对象中以被SiteMesh解析和操作。(不太常用,默认即可)
- Decorator Mappers : 不同的装饰器种类,下面列出2种比较有用的。一种通用的mapper,可以指定装饰器的配置文件名;另一种可打印的装饰器:可以允许你当用http://localhost/aaa/a.html?printable=true方式访问时给出原始页面以供打印(免得把header,footer等的花哨的图片也搭上)
-
范例:
<sitemesh>
<page-parsers>
<parser default="true" class="com.opensymphony.module.sitemesh.parser.DefaultPageParser" />
<parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser" />
<parser content-type="text/html;charset=ISO-8859-1" class="com.opensymphony.module.sitemesh.parser.FastPageParser" />
</page-parsers>
<decorator-mappers>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="/WEB-INF/decorators.xml" />
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper ">
<param name="decorator" value="printable" />
<param name="parameter.name" value="printable" />
<param name="parameter.value" value="true" />
</mapper>
</decorator-mappers>
</sitemesh>
<decorators defaultdir="/decorators"> </decorators> |
- defaultdir: 包含装饰器页面的目录
- page : 页面文件名
- name : 别名
- role : 角色,用于安全
- webapp : 可以另外指定此文件存放目录
- Patterns : 匹配的路径,可以用*,那些被访问的页面需要被装饰。
- Decorator标签:被用于建立装饰器页面
- Page标签:被用于从原始内容页面访问装饰器
更多信息请参考:http://www.mscto.com/JavaScript/2009010955000.html
另外:一个注意问题:在配置decorators.xml中,装饰器的page属性前不要加上"/",否则会报错。例:
正确写法:
<decorators defaultdir="/WEB-INF/pages">
</decorators>
错误写法:
<decorators defaultdir="/WEB-INF/pages">
</decorators>