【SSM】tiles框架布局


代码资源网盘地址:https://pan.baidu.com/s/131J3pLag73A0mmqq9dKjsg

提取码:jiv9

1.配置文件添加tiles相关配置

(1)pom.xml

    
    
    <dependency>
        <groupId>org.apache.tilesgroupId>
        <artifactId>tiles-extrasartifactId>
        <version>3.0.5version>
    dependency>

(2)springmvc.xml

一般情况配置如下(使用tiles布局,将其注释掉):

        

tiles布局配置如下:

        
        <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" p:order="1"/>
        <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
        <property name="definitions">
            <list>
                
                <value>/WEB-INF/config/tiles.xmlvalue>
                
                <value>/WEB-INF/config/tiles-advanced-features.xmlvalue>
            list>
        property>
        
        <property name="completeAutoload" value="true" />
        bean>
        
        <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="2"> 
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
            <property name="contentType" value="text/html"/> 
            <property name="prefix" value="/WEB-INF/jsp/"/> 
            <property name="suffix" value=".jsp"/> 
        bean>

2.tiles.xml配置内容:

<?xml version="1.0" encoding="UTF-8" ?>
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

 
 
 
 
  
  
 

 
 
 
 
  
  
 

 
 
 
  
  
  
 

 
 
 
 
  
  
  
 

 
 

3.tiles-advanced-features.xml配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
    
    
    <definition name="forRuntimeEl" templateExpression="${runtimeTemplate}"> 
        <put-attribute name="nav" value="/WEB-INF/jsp/layout/nav2.jsp" />
        <put-attribute name="content" expression="${runtimeAttribute}" />
    definition>
tiles-definitions>
tiles-advanced-features

4.layout.jsp配置文件:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@tagliburi="/WEB-INF/tlds/c.tld"prefix="c"%><%@tagliburi="/WEB-INF/tlds/tiles.tld"prefix="tiles"%><c:setvar="ctx"value="${pageContext.request.contextPath}"/><c:setvar="ctxStatic"value="${pageContext.request.contextPath}/static"/>DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1"><%--ignore:默认false代表此属性不可忽略必须填充,当attribute未填充时会抛NoSuchAttributeException;设为true则表示可此属性在未填充时不做任何操作--%><title><tiles:insertAttributename="title"ignore="true"/>title><linkhref="${ctxStatic}/css/bootstrap.min.css"rel="stylesheet"><linkhref="${ctxStatic}/css/bootstrap-combined.min.css"rel="stylesheet"media="screen">head><body><divclass="container-fluid"><divclass="row-fluid"><divclass="span12"><tiles:insertAttributename="nav"/><divstyle="min-height:400px;"><tiles:insertAttributename="content"/>div>div>div>div><scriptsrc="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js">script><scriptsrc="${ctxStatic}/js/bootstrap.min.js">script>body>html>
layout

5.layout2.jsp配置文件:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@tagliburi="/WEB-INF/tlds/c.tld"prefix="c"%><%@tagliburi="/WEB-INF/tlds/tiles.tld"prefix="tiles"%><c:setvar="ctx"value="${pageContext.request.contextPath}"/><c:setvar="ctxStatic"value="${pageContext.request.contextPath}/static"/>DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1"><%--上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后!--%><title><tiles:insertAttributename="title"ignore="true"/>title><linkhref="${ctxStatic}/css/bootstrap.min.css"rel="stylesheet"><linkhref="${ctxStatic}/css/bootstrap-combined.min.css"rel="stylesheet"media="screen"><linkhref="${ctxStatic}/css/layout2.css"rel="stylesheet">head><body><%--From:http://ruyo-net-demo.qiniudn.com/Bootstrap_left_menu.html--%><divclass="navbarnavbar-duominavbar-static-top"role="navigation"><divclass="container-fluid"><divclass="navbar-header"><aclass="navbar-brand"href="javascript:void(0)"id="logo">Run!!!a>div>div>div><divclass="container-fluid"><divclass="row"><divclass="col-md-2"><tiles:insertAttributename="nav"/>div><divclass="col-md-10"style="min-height:400px;"><tiles:insertAttributename="content"/>div>div>div><scriptsrc="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js">script><scriptsrc="${ctxStatic}/js/bootstrap.min.js">script>body>html>
layout2

6.nav.jsp配置文件:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@tagliburi="/WEB-INF/tlds/c.tld"prefix="c"%><c:setvar="ctx"value="${pageContext.request.contextPath}"/><divclass="navbar"><divclass="navbar-inner"><divclass="container-fluid"><aclass="btnbtn-navbar"data-target=".navbar-responsive-collapse"data-toggle="collapse">a><aclass="brand"href="javascript:void(0)">Run!!!a><divclass="nav-collapsenavbar-responsive-collapse"><ulclass="nav"><li${'home'eqactiveNav?'class="active"':''}><ahref="${ctx}/better/p/home">冰与火之歌a>li><li${'music'eqactiveNav?'class="active"':''}><ahref="${ctx}/better/p/music">音乐小镇a>li><li${'carousel'eqactiveNav?'class="active"':''}><ahref="${ctx}/better/p/carousel">轮播a>li><liclass="dropdown${(('progressbar'eqactiveNav)||('rt'eqactiveNav))?'active':''}"><aclass="dropdown-toggle"data-toggle="dropdown"href="#">更多a><ulclass="dropdown-menu"><li><ahref="${ctx}/better/p/progressbar">看看a>li><liclass="nav-header">-----------li><li><ahref="${ctx}/better/rt">TilesRuntimea>li><liclass="nav-header">-----------li><li><ahref="${ctx}/better/no-tiles">无关Tilesa>li>ul>li>ul><ulclass="navpull-right"><li${'dont-starve-together'eqactiveNav?'class="active"':''}><ahref="${ctx}/better/p/dont-starve-together">Don'tStarveTogethera>li><li><ahref="${ctx}/better/p2/home">左侧菜单a>li>ul>div>div>div>div>
nav

7.nav2.jsp配置文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tlds/c.tld" prefix="c"%>

<c:set var="ctx" value="${pageContext.request.contextPath}" />

<ul id="main-nav" class="nav nav-tabs nav-stacked">
    <li class="active">
        <a href="${ctx}/better/p/home"> <i class="glyphicon glyphicon-th-large">i> 默认主题a>
    li>
    <li>
        <a href="#systemSetting" class="nav-header collapsed" data-toggle="collapse">
            <i class="glyphicon glyphicon-cog">i> 都是好东西! <span class="pull-right glyphicon glyphicon-chevron-down">span>
        a>
        <ul id="systemSetting" class="nav nav-list collapse secondmenu" style="height: 0px;">
            <li><a href="${ctx}/better/p2/home"><i class="glyphicon glyphicon-user">i> 冰与火之歌a>li>
            <li><a href="${ctx}/better/p2/music"><i class="glyphicon glyphicon-music">i> 音乐小镇a>li>
            <li><a href="${ctx}/better/p2/carousel"><i class="glyphicon glyphicon-asterisk">i> 轮播a>li>
            <li><a href="${ctx}/better/p2/progressbar"><i class="glyphicon glyphicon-edit">i> 看看a>li>
        ul>
    li>
    <li><a href="${ctx}/better/p2/home"> <i class="glyphicon glyphicon-credit-card">i> 冰与火之歌a>li>
    <li>
        <a href="${ctx}/better/p2/music">
            <i class="glyphicon glyphicon-music">i> 音乐小镇 <span class="label label-warning pull-right">6span>
        a>
    li>
    <li><a href="${ctx}/better/p2/carousel"> <i class="glyphicon glyphicon-calendar">i> 轮播a>li>
    <li><a href="${ctx}/better/p2/progressbar"> <i class="glyphicon glyphicon-fire">i> 看看a>li>
ul>
IT