SiteMesh常用标签简介

SiteMesh常用标签简介
SiteMesh有两个标签库分别为sitemesh-decorator.tld、sitemesh-page.tld

<decorator:head />
插入原始页面(被包装页面)的head标签中的内容(不包括head标签本身)。
<decorator:body />

插入原始页面(被包装页面)的body标签中的内容。

<decorator:title [ default="..." ] />

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

<decorator:getProperty property="..." [ default="..." ] [ writeEntireProperty="..." ]/>

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

sitemesh文档中的例子很好理解:
The decorator: <body bgcolor="white"<decorator:getProperty property="body.onload" writeEntireProperty="true" />>
The undecorated page: <body onload="document.someform.somefield.focus();">
The decorated page: <body bgcolor="white" onload="document.someform.somefield.focus();">

注意, writeEntireProperty="true"表示插入为"属性=值"并会在插入内容前加入一个空格。

<page:applyDecorator name="..." [ page="..." title="..." ] >
<page:param name="..."> ... </page:param>
<page:param name="..."> ... </page:param>
</page:applyDecorator>
应用包装器到指定的页面上,一般用于被包装页面中主动应用包装器
 
包装器页面 /_decorators/panel.jsp: < p >< decorator:title  /></ p >     < p >< decorator:body  /></ p >
  并且在decorators.xml中有
< decorator  name ="panel"  page ="panel.jsp" />
一个公共页面,即将被panel包装:/_public/date.jsp:  
   
<% = new  java.util.Date() %>    < decorator:getProperty  property ="myEmail"   />

被包装页面 /page.jsp : 
  
< title > page的应用 </ title >  
  ..  
  
< page:applyDecorator  name ="panel"  page ="/_public/date.jsp"   >
    
< page:param  name ="myEmail" >  [email protected]  </ page:param >
  
</ page:applyDecorator >

这样在包装page页面的时候,会载入被panel包装的date页面,并且可以把myEmail参数传递给包装页面panel,而包装panel通过
<decorator:getProperty property="myEmail"></decorator:getProperty>标签接收myEmail参数。

你可能感兴趣的:(SiteMesh常用标签简介)