Struts里使用tiles模板

Tiles提供了一种框架,供你定义和动态填充页面布局。每个页面布局就是一个定义了模板框架(或轮廓)并用占位符表示应该填充内容的位置的jsp。运行时tiles用其相关内容代替占位符,创建一个完整的页面和独特的布局实例。为了实现这个目标,Tiles使用了概念:定义和属性。

            一个Tiles定义创建一条内容,并可以通过使用定义的名称将其插入JSP。每个定义有名称(或标识符),布局JSP和与定义相关联的一系列属性组成。一旦创建,该定义就可以包含在页面中或作为struts forward的目标(此为最常见的情况)。为了简化定义和属性的使用,Tiles使用XML配置文件(tiles-defs.xml)存储定义。Tiles还为创建定义和属性提供了JSP标记库,此外,还使用Tiles标记库将属性插入JSP

 

使用Tiles

1 启动Tiles插件。

2 创建Tiles定义。

3 创建布局JSP并使用Tiles标记库。

4 创建内容JSP以填充布局JSP

5 使用Tiles定义。

 

1 启动Tiles插件

要启动并使用Tiles,需要将以下<plug-in>定义添加到应用程序的struts-config.xml文件中:

 

    <plug-in className="org.apache.struts.tiles.TilesPlugin" >

 

      <!-- Path to XML definition file -->

      <set-property property="definitions-config"

                       value="/WEB-INF/config/tiles-defs.xml" />

    </plug-in>

 

该定义使struts为应用程序加载并初始化Tiles插件。

 

2 创建Tiles定义

 

基于XML配置文件的定义和属性

<?xml version="1.0" encoding="ISO-8859-1" ?>

 

 <!DOCTYPE tiles-definitions PUBLIC

       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"

       "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">

 

 

<!--

     colimas tiles difinitions

      Created by:Zhao Lei

      Created date:2005/06/15

      Modified date:2005/09/05

-->

 

<tiles-definitions>

    <definition name="base-definition" path="/pages/mainlayout.jsp">

        <put name="header" value="/pages/header.jsp" />

        <put name="footer" value="/pages/footer.jsp" />

        <put name="menu"   value="" />

        <put name="data" value=""/>

    </definition>

   

    <definition name="extends-definition" extends="base-definition">

          <put name="navigator" value="" />

    </definition> 

 

      <!--index-->

    <definition name="index-definition" extends="base-definition" >

            <put name="data"   value="/pages/indexcon.jsp" />

    </definition>

</tiles-definitions>

 

3 创建布局JSP并使用Tiles标记库

 

/pages/mainlayout.jsp

 

<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%>

<body>

<tiles:insert attribute="header"/>

<tiles:insert attribute="data"/>

<tiles:insert attribute="footer"/>

</body>

 

4 创建内容JSP

 

/pages/header.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>

<%@ taglib uri="/tags/struts-bean" prefix="bean"%>

<%@ taglib uri="/tags/struts-html" prefix="html"%>

<%@ taglib uri="/tags/struts-logic" prefix="logic"%>

<logic:present name="user">

      <H3>Welcome <bean:write name="LoginForm" property="userID" />!</H3>

</logic:present>

<logic:notPresent scope="session" name="user">

      <H3>Welcome Colimas!</H3>

</logic:notPresent>

 

<html:form action="/SelectLanguageAction.do">

       <html:select property="language">

                <html:option value="0">中国语</html:option>

                <html:option value="1">日本語</html:option>

                <html:option value="2">English</html:option>              

       </html:select>

      <html:submit>Select</html:submit>

</html:form>

/pages/footer.jsp

 

Copyright c 2005 Nova Component System | All rights reserved <a href="contactus.htm">Contact Us</a> <a href="legal.htm">Legal</a> | <a href="policy.htm">Privacy Policy</a>

 

/pages/indexcon.jsp

 

<%@ taglib uri="/tags/struts-bean" prefix="bean"%>

<%@ taglib uri="/tags/struts-html" prefix="html"%>

<%@ taglib uri="/tags/struts-logic" prefix="logic"%>

<html:form action="/LoginAction.do">

      <p><bean:message key="index.jsp.userid"/><input type="text" name="userID" value="tyrone1979" /><br>

      <bean:message key="index.jsp.pass"/><input type="password" name="password" value="123445"/><br>

      <html:submit><bean:message key="index.jsp.login"/></html:submit>

      </p>

</html:form>

<logic:present name="user">

<html:form action="/protect/FileLoadAction.do"

      enctype="multipart/form-data">

      <html:file property="theFile" />

      <html:submit />

</html:form>

<bean:write name="UploadForm" property="theText" />

<html:link action="/LoadDataAction.do">Load Data</html:link><br>

<html:link page="/pages/batchedit.jsp" >Scheduler Setting</html:link>

</logic:present>

 

5 使用Tiles定义

/pages/index.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>

<%@ taglib uri="/tags/struts-html" prefix="html"%>

<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%>

<html:html>

<tiles:insert definition="index-definition"/>

</html:html>

 

结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值