<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

    Spring Tiles Integration

    In this example you will learn how to integrate Spring with Tiles 2. The directory structure of the example is shown below.

    Add the following library files to the lib directory.

    01.antlr-runtime-3.0
    02.commons-logging-1.0.4
    03.org.springframework.asm-3.0.0.M3
    04.org.springframework.beans-3.0.0.M3
    05.org.springframework.context-3.0.0.M3
    06.org.springframework.context.support-3.0.0.M3
    07.org.springframework.core-3.0.0.M3
    08.org.springframework.expression-3.0.0.M3
    09.org.springframework.web-3.0.0.M3
    10.org.springframework.web.servlet-3.0.0.M3
    11. 
    12.commons-beanutils-1.7.0
    13.commons-digester-1.8
    14.commons-logging-api-1.1
    15.jstl
    16.standard
    17.tiles-api-2.0.4
    18.tiles-core-2.0.4
    19.tiles-jsp-2.0.4

    You will see how to create a simple classic tile layout with a header, menu, body and footer regions.


    In Spring to use Tiles, configure the following Tile definition in the Spring configuration file.

    01.<?xml version="1.0" encoding="UTF-8"?>
    02.<beans xmlns="http://www.springframework.org/schema/beans"
    03.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    04.    xmlns:p="http://www.springframework.org/schema/p"
    05.    xmlns:context="http://www.springframework.org/schema/context"
    06.    xsi:schemaLocation="
    07.    http://www.springframework.org/schema/beans
    08.    http://www.springframework.org/schema/beans/spring-beans.xsd
    09.    http://www.springframework.org/schema/context
    10.    http://www.springframework.org/schema/context/spring-context.xsd">
    11.     
    12.    <bean id="viewResolver" class="org.springframework.web.servlet.view. ResourceBundleViewResolver" p:basename="views" />
    13.     
    14.    <context:component-scan base-package="com.vaannila.web" />
    15.     
    16.    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2. TilesConfigurer" p:definitions="/WEB-INF/tiles-defs.xml" />   
    17.         
    18.</beans>

    Using the definitions attribute specify the location of the tiles definition file. Here the location is "/WEB-INF/tiles-defs.xml". The tiles definition file is shown below.

    01.<?xml version="1.0" encoding="UTF-8" ?>
    02. 
    03.<!DOCTYPE tiles-definitions PUBLIC
    04.       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
    05.       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
    06. 
    07.<tiles-definitions>
    08. 
    09.  <definition name="baseLayout" template="/WEB-INF/tiles/baseLayout.jsp">
    10.      <put-attribute name="title"  value="Template"/>
    11.      <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
    12.      <put-attribute name="menu"   value="/WEB-INF/tiles/menu.jsp"/>
    13.      <put-attribute name="body"   value="/WEB-INF/tiles/body.jsp"/>
    14.      <put-attribute name="footer"   value="/WEB-INF/tiles/footer.jsp"/>
    15.  </definition>
    16.   
    17.  <definition name="welcome" extends="baseLayout">
    18.      <put-attribute name="title"  value="Welcome"/>
    19.      <put-attribute name="body"   value="/WEB-INF/jsp/welcome.jsp"/>     
    20.  </definition>
    21.   
    22.  <definition name="friends" extends="baseLayout">
    23.      <put-attribute name="title"  value="Friends"/>
    24.      <put-attribute name="body"   value="/WEB-INF/jsp/friends.jsp"/>     
    25.  </definition>
    26.   
    27.  <definition name="office" extends="baseLayout">
    28.      <put-attribute name="title"  value="Office"/>
    29.      <put-attribute name="body"   value="/WEB-INF/jsp/office.jsp"/>     
    30.  </definition>
    31.   
    32.</tiles-definitions>

    Here we first define a base layout, later we extend the base layout and create three more tile definitions by changing only the title and the body regions.

    To dispaly views we use the ResourceBundleViewResolver. By default the views.properties file will be used to store the key value pairs, we specify this using the basename attribute.

    01.welcome.(class)=org.springframework.web.servlet.view.tiles2.TilesView
    02.welcome.url=welcome
    03. 
    04.friends.(class)=org.springframework.web.servlet.view.tiles2.TilesView
    05.friends.url=friends
    06. 
    07.office.(class)=org.springframework.web.servlet.view.tiles2.TilesView
    08.office.url=office
    09. 
    10.about.(class)=org.springframework.web.servlet.view.JstlView
    11.about.url=/WEB-INF/jsp/about.jsp

    The welcome, friends and office refers to the tile definition names (the one to right side of the = sign). For tile views we use "org.springframework.web.servlet.view.tiles2. TilesView" class. You can also have other views together with the tile views. The about url is mapped to the about.jsp page with is a org.springframework.web.servlet.view.JstlView.

    The baseLayout.jsp file contains the table structure to hold the different regions.

    <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title><tiles:insertAttribute name="title" ignore="true" /></title>
    </head>
    <body>
    <table border="1" cellpadding="2" cellspacing="2" align="center">
    <tr>
    <td height="30" colspan="2">
    <tiles:insertAttribute name="header" />
    </td>
    </tr>
    <tr>
    <td height="250">
    <tiles:insertAttribute name="menu" />
    </td>
    <td width="350">
    <tiles:insertAttribute name="body" />
    </td>
    </tr>
    <tr>
    <td height="30" colspan="2">
    <tiles:insertAttribute name="footer" />
    </td>
    </tr>
    </table>
    </body>
    </html>

    Here we use annotated controller handler mapping to handle the request. In the redirect.jsp page we forward the request to the welcome.htm url.

    <% response.sendRedirect("welcome.htm"); %>

    The welcome.htm url will be handled by the WelcomeController class, where we forward it to the welcome tile page.

    package com.vaannila.web;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class WelcomeController {

    @RequestMapping("/welcome.htm")
    public String redirect()
    {
    return "welcome";
    }
    }

    You can download and try the example here.

    Source :Download
    War :Download

    posted on 2009-10-19 14:32 seal 閱讀(1998) 評論(0)  編輯  收藏 所屬分類: Springweb
    主站蜘蛛池模板: 精品亚洲麻豆1区2区3区| 亚洲精品无码专区久久久| 一本色道久久88亚洲精品综合| 久久99热精品免费观看动漫| 亚洲桃色AV无码| 国产一区二区三区免费观在线| 亚洲精品一级无码中文字幕| selaoban在线视频免费精品| 久久夜色精品国产亚洲av | 最好免费观看韩国+日本| 国产精品亚洲片夜色在线| 24小时免费直播在线观看| 亚洲性无码一区二区三区| 国产在线98福利播放视频免费| 亚洲6080yy久久无码产自国产| 免费日本黄色网址| 国产免费播放一区二区| 亚洲va久久久噜噜噜久久男同| 精品久久8x国产免费观看| 亚洲中文字幕乱码AV波多JI| 免费人成在线观看播放国产| 成人一区二区免费视频| 色婷婷亚洲十月十月色天| 久久久久久国产a免费观看黄色大片| 亚洲午夜无码毛片av久久京东热| 全部免费国产潢色一级| 四虎影视无码永久免费| 亚洲天堂福利视频| 国产一级理论免费版| 国产精品偷伦视频观看免费| 亚洲乱码在线视频| 亚洲精品岛国片在线观看| 6080午夜一级毛片免费看 | 国产精品嫩草影院免费| 999zyz**站免费毛片| 亚洲伊人久久精品| 亚洲国产精品综合久久一线| 久久久高清日本道免费观看| 最新国产精品亚洲| 亚洲精品无码久久久久| 毛片视频免费观看|