SiteMesh页面布局修饰框架

1. SiteMesh是一个Web页面布局修饰框架, 用于构建包含大量页面, 需要一致的外观样式(look/fell), 导航和布局机制的大型网站.
SiteMesh
应用Decorator模式,用filter截取requestresponse,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer,现在,在SiteMesh的帮助下,我们可以开心的删掉他们了。在WebWork中集成SiteMesh相当容易: 实际上什么也不用做. WebWork把全部值栈数据都保存在请求attribute, 这意味着如果想显示值栈(ActionContext)中的数据, 只需使用WebWork附带的标准标签库, 就这么简单!内含学习文档和完整例子。

2. 更改WEB-INF/web.xml的内容,如在xml的配置文件中不直接支持“<teglib></teglib>”的标签对,要把所有的标签对放到<jsp-config></jsp-config>

 

3SiteMesh使用下面的逻辑来选择使用哪一个装饰器:

(a)    页面是否使用meta装饰器标签(meta decorator tag)特别指定了一个装饰器?

(b)    页面是否是一个框架集(是的话则不应用装饰器)?

(c)    页面是否使用了printable=true 参数(是的话则使用打印装饰器)

(d)    页面时候使用装饰器文件名特别指定了一个装饰器?

(e)    页面是否匹配 decorators.xml 文件里描述的样式?

4Sitemesh的标签

Decorator Tags

Page Tags

被用于建立装饰器页面.

被用于从原始内容页面访问装饰器.

<decorator:head />
<decorator:body />
<decorator:title />
<decorator:getProperty />
<decorator:usePage />

<page:applyDecorator />
<page:param

(1)      <decorator:getProperty property="..." [ default="..." ] [ writeEntireProperty="..." ]/> 标签

在标签处插入原始页面(被包装页面)的原有的标签的属性中的内容,还可以添加一个缺省值。

注意,writeEntireProperty="true"会在插入内容前加入一个空格。

(2)      <decorator:usePage id="..." />标签

jsp页面中的<jsp:useBean>标签一样,可以使用被包装为一个Page对象的页面。 (懒的用)例:可用<decorator:usePage id="page" /> <%=page.getTitle()%>达到<decorator:title/>的访问结果。

(3)      <page:applyDecorator name="..." [ page="..." title="..." ] ><page:param name="..."> ...</page:param><page:param name="..."> ... </page:param></page:applyDecorator>标签

应用包装器到指定的页面上,一般用于被包装页面中主动应用包装器。

 

5中文问题

                          i.              在每一个jsp页里设置: <%@ page contentType="text/html; charset=gbk"%> 来告诉server你所要求的字符集。

                       ii.              在每个jsp页的head中定义:<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gbk"> 来告诉浏览器你所用的字符集。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值