本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7607788
建立时间:2006年5月29日




[OpenSymphony]使用sitemesh建立复合视图 - 3.其他讨论
软件技术

lhwork 发表于 2006/7/13 15:18:26

可打印的界面装饰 前面说过有1种可打印的装饰器,可以允许你当用http://localhost/aaa/a.html?printable=true方式访问时,应用其他的装饰器(自己指定),给出原始页面以供打印(免得把header,footer等的花哨的图片也搭上)。 让我们来看一看怎样实现他: 1.首先在WEB-INFO/sitemesh.xml中设置:   <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> 这样就可以通过?printable=true来使用名为printable的装饰器,而不是用原来的装饰器。 2.在WEB-INFO/decorators.xml中定义相应的printable装饰器   <decorator name="printable" page="printable.jsp"/> 3.最后编写printable装饰器/decorators/printable.jsp <%@ taglib uri="sitemesh-decorator" prefix="decorator" %> <html> <head>   <title><decorator:title /></title>   <decorator:head /> </head> <body>   <h1><decorator:title /></h1>   <p align="right"><i>(printable version)</i></p>   <decorator:body /> </body> </html> 这样就可以让一个原始页面通过?printable=true开关来切换不同的装饰器页面。   中文问题 由于sitemesh内部所使用的缺省字符集为iso-8859-1,直接使用会产生乱码,我们可以通过以下方法纠正之: 方法1:可以在您所用的application server的配置文件中找一找,有没有设置encoding或charset的项目,然后设成gbk或gb2312即可方法2:这也是我们一直使用的方法。 1.在每一个jsp页里设置: <%@ page contentType="text/html; charset=gbk"%> 来告诉server你所要求的字符集。 2.在每个jsp页的head中定义:<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gbk"> 来告诉浏览器你所用的字符集。 总结:使用sitemesh最通常的途径: 1.配置好环境, 2.在WEB-INFO/decroators.xml中描述你将建立的包装器。 3.开发在decroators.xml中描述的包装器,最好存放在/_decorators目录下 4.ok ,可以看看辛勤的成果了 :)


阅读全文(1759) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144787613 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号