[原创]JavaMasterPages快捷页面布局,无任何依赖

前几天偶尔在oschina上看见红薯大大2年前分享的一个jsp布局技术 (jsp layout : http://www.oschina.net/p/jsplayout) ,觉得很是不错,简单大方..... 
  哈哈,于是手痒,借鉴于jsp layout和asp.net的母版页,利用上班的空闲时间自己实现了一套 : javaMasterPages..(顺便名字也盗用了)
标签布局,简单实用.......
----------------------------------------------------------------

实现很粗糙, 总共四个标签 : 
  两个处理母版页的标签: MasterPageTag 和 ContentPlaceHolderTag 
  两个处理子页的标签: ContentPageTag 和 ContentTag
如果有学过.net的同学看见的话,一定觉得我很懒吧 .... 我的确很懒

MasterPageTag 标签主要标明页面是一个母版页,而ContentPlaceHolderTag 说白了就是一个占位符.

ContentPageTag 标签是用来和MasterPageTag 挂上钩的,页面的渲染其实主要就在这个标签里面完成,
ContentTag 标签 与之ContentPlaceHolderTag 对应.

简单就说这些吧.....我不是很会写文章(源码很简单,我觉得这个更直接),看效果:
首先,母版页代码:


<%@ taglib uri="org.lhp.masterpage" prefix="fms" %>
<fms:MasterPage id="master">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title><fms:ContentPlaceHolder id="title"/></title>
</head>
<body>
	<hr/>
	<h1>母版页内容.............</h1>
	<fms:ContentPlaceHolder id="nav"/>
	<hr/>
	<fms:ContentPlaceHolder id="main"/>
	<h2>母版页文字</h2>
	<br/>
	<br/>
	<br/>
	...........................
</body>
</html>
</fms:MasterPage>
 


然后, 子页代码:

<%@ taglib uri="org.lhp.masterpage" prefix="fms" %>
<fms:ContentPage materPageId="master">

<fms:Content contentPlaceHolderId="title">
	子页,标题
</fms:Content>


<fms:Content contentPlaceHolderId="nav">
	<h5>子页导航</h5> 
</fms:Content>


<fms:Content contentPlaceHolderId="main">
	<h3>子页主内容</h3>
</fms:Content>

</fms:ContentPage>
 


效果 : 





 

这只是简单粗糙的实现,我很懒.......
道友们可以自己动手diy一下,例如.net的masterPage是可以继承materPage的. 并且子页面相对于masterPage是不可知的,上下层的单向访问嘛....大体思想都差不多,父类定义(masterPage) 子类实现嘛......

现在都流行组件,组件,组件......那我们把页面也分成组件吧. 导航一个
组件,footer一个组件,header一个组件 , 至于他们的style css , 我们也可以把他们当初是组件的一部分...然后在'核心处理器上' 组合在一起一并引入最终渲染出来的页面里.......  

.......我的工作里从没做过页面.....没用过jsf也没学过freemarker,因为从没用过.......
大大多多交流 , 公布个企鹅群:124795403

附上源码,道友们敬请蹂蹑:

猜你喜欢

转载自liheping17.iteye.com/blog/1530681