分享
 
 
 

readAppfuse-4-Sitemesh使用

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

★ 作用:sitemesh应用Decorator模式,用filter截取request和response,把页面组件

head,content,banner结合为一个完整的视图[引用]。

★ appfuse的使用:

(1) 在WEB-INF/web.xml中的过滤器的定义

<filter>

<filter-name>sitemesh</filter-name>

<filter-class>

com.opensymphony.module.sitemesh.filter.PageFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>sitemesh</filter-name>

<!—所有的用户请求都要通过sitemesh过滤处理-->

<url-pattern>/*</url-pattern>

<!-- These are needed by Tomcat 5 for forwards -->

<dispatcher>REQUEST</dispatcher>

<dispatcher>FORWARD</dispatcher>

</filter-mapping>

(2)common/taglibs.jsp中的标签申明,只是命名说明,具体调用时,应用会在WEB-INF/lib中的对应的sitemesh-x.x.jar中定位。

<%@ taglib uri="http://www.opensymphony.com/sitemesh/

decorator" prefix="decorator"%>

<%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="page"%>

(3)WEB-INF/sitemesh.xml文件(可选),进行sitemesh配置

<sitemesh>

<property name="decorators-file" value="/WEB-INF/decorators.xml"/>

<excludes file="${decorators-file}"/>

<page-parsers>

<parser default="true"

class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>

<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"/>

<!-- Fixes problem with login page not being decorated -->

<!-- https://dudu.dev.java.net/issues/show_bug.cgi?id=63 -->

<parser content-type="text/plain"

class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>

</page-parsers>

<decorator-mappers>

<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">

<param name="config" value="${decorators-file}"/>

</mapper>

</decorator-mappers>

</sitemesh>

(4)WEB-INF/decorators.xml文件,指定具体的装饰页。

<decorators defaultdir="/decorators">

<excludes>

<pattern>/demos/*</pattern>

<pattern>/resources/*</pattern>

</excludes>

<decorator name="default" page="default.jsp">

<pattern>/*</pattern>

</decorator>

</decorators>

(5)装饰页/decorators/default.jsp的主要内容。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<%@ include file="/common/meta.jsp" %>

<!—把请求的原始页面的title内容插入到<title></title>中间-->

<title><fmt:message key="webapp.prefix"/><decorator:title/></title>

<!—所有被装饰页都会用到的样式表和JavaScript-->

<script type="text/javascript"

src="<c:url value='/scripts/helptip.js'/>"></script>

<link rel="stylesheet" type="text/css" media="all"

href="<c:url value='/styles/default.css'/>" />

<link rel="stylesheet" type="text/css" media="all"

href="<c:url value='/styles/helptip.css'/>" />

<link rel="stylesheet" type="text/css" media="print"

href="<c:url value='/styles/print.css'/>" />

<script type="text/javascript"

src="<c:url value='/scripts/global.js'/>"></script>

<link rel="stylesheet" type="text/css" media="all"

href="<c:url value='/styles/menuExpandable.css'/>" />

<script type="text/javascript"

src="<c:url value='/scripts/menuExpandable.js'/>"></script>

<!--插入原始页面(被包装页面)的head标签中的内容(不包括head标签本身-->

<decorator:head/>

</head>

<!—通过decorator:getProperty在标签处插入原始页面(被包装页面)的原有的标签的属性中的内容,还可以添加一个缺省值-->

<body<decorator:getProperty property="body.id" writeEntireProperty="true"/>>

<div id="screen">

<div id="header">

<c:import url="/common/header.jsp"/>

</div>

<c:import url="/WEB-INF/pages/menu.jsp"/>

<div id="content">

<h1><decorator:getProperty property="page.heading"/></h1>

<%@ include file="/common/messages.jsp" %>

<!--把请求的原始页面的body内的全部内容插入到相应位置-->

<decorator:body/>

</div>

<div id="footer">

<c:import url="/common/footer.jsp"/>

</div>

</div>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有