Tiles模版简单用

至于Tiles是什么就不说了,先简单用一下再说。(与Struts2结合用)

1、首先是web.xml配置文件(具体的见官网web.xml

<!--  在web.xml中选择listener、servlet、filter三者选其一既可,下面我都给出了,具体在官网可以看到
  <servlet>
    <servlet-name>tiles</servlet-name>
    <servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>
    <init-param>
        <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
        <param-value>/WEB-INF/tiles.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet> -->
  
  
  <!-- StrutsTilesListener和TilesListener用哪个呢,关系是前者继承了后者,我在这里用的是前者 -->
  <listener>
  	<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
  </listener>
  <context-param>
  	<param-name>tilesDefinitions</param-name>
	<param-value>/WEB-INF/tiles.xml</param-value>
  </context-param>
  
  
  <!--
  <listener>
    <listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
  </listener>
  <context-param>
        <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
        <param-value>/WEB-INF/tiles.xml</param-value>
  </context-param>-->
  
  
  <!--
  <filter>
    <filter-name>Tiles Filter</filter-name>
    <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
    <init-param>
        <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
        <param-value>/WEB-INF/tiles.xml</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>Tiles Filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
  </filter-mapping> -->
2、接下来是/WEB-INF/tiles.xml中的内容

<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles
Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd" >
	
<tiles-definitions>
	<!-- 全局配置 -->
	<definition name="simpleTpl" template="/WEB-INF/common/simpleTpl.jsp">
		<put-attribute name="title" value="简易模版"></put-attribute>
		<put-attribute name="header" value="/WEB-INF/common/header.jsp"></put-attribute>
		<put-attribute name="body" value="/WEB-INF/common/body.jsp"></put-attribute>
		<put-attribute name="footer" value="/WEB-INF/common/footer.jsp"></put-attribute>
	</definition>
	<!-- 局部继承 -->
	<definition name="index" extends="simpleTpl">
		<put-attribute name="title" value="互联网力量"></put-attribute>
	</definition>
</tiles-definitions>

3、然后是struts.xml中的内容。

<package name="tilesDemo" namespace="/tiles" extends="tiles-default">
		<default-action-ref name="index">
		</default-action-ref>
		<action name="index">
			<result type="tiles">index</result>
		</action>
</package>


4、接下来是在/WEB-INF/common文件中新建几个页面simpleTpl.jsp、header.jsp、body.jsp、footer.jsp。

simpleTpl.jsp页面内容如下,其他页面内容自定:

<title><tiles:getAsString name="title"></tiles:getAsString></title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  	<tiles:insertAttribute name="header"></tiles:insertAttribute>
  	<tiles:insertAttribute name="body"></tiles:insertAttribute>
  	<tiles:insertAttribute name="footer"></tiles:insertAttribute>
  </body>
 

最后就是运行了,输入访问链接:/localhost:8080/工程名/index,就可以看到效果了。

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里提供一个简单的示例代码,展示如何使用 Flask 和 Leaflet 库将海洋数据以地图形式可视化展示。 首先需要安装一些依赖库: ```bash pip install flask pandas folium ``` 然后创建一个名为 `app.py` 的 Python 文件,编写以下代码: ```python from flask import Flask, render_template import pandas as pd import folium app = Flask(__name__) # 读取海洋数据 data = pd.read_csv('ocean_data.csv') # 创建地图 m = folium.Map(location=[30, 0], zoom_start=2) # 将数据添加到地图中 for i, row in data.iterrows(): folium.Marker(location=[row['lat'], row['lon']], popup=row['name']).add_to(m) # 将地图保存为 HTML 文件 m.save('map.html') @app.route('/') def index(): # 渲染 HTML 模板 return render_template('index.html') if __name__ == '__main__': app.run(debug=True) ``` 在同一目录下创建一个名为 `templates/index.html` 的 HTML 文件,编写以下代码: ```html <!DOCTYPE html> <html> <head> <title>Map</title> <!-- 引入 Leaflet 库 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/leaflet/1.3.1/leaflet.css" /> <script src="https://cdn.jsdelivr.net/leaflet/1.3.1/leaflet.js"></script> </head> <body> <h1>Map</h1> <!-- 在页面中嵌入地图 --> <div id="map" style="height: 500px;"></div> <script> // 创建 Leaflet 地图对象,并设置初始位置和缩放级别 var map = L.map('map').setView([30, 0], 2); // 添加底图(瓦片图层) L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { maxZoom: 18, attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' + '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>', id: 'mapbox/streets-v11', tileSize: 512, zoomOffset: -1, accessToken: 'YOUR_MAPBOX_ACCESS_TOKEN' }).addTo(map); // 添加海洋数据标记(Marker) {% for row in data %} L.marker([{{ row['lat'] }}, {{ row['lon'] }}]).bindPopup('{{ row['name'] }}').addTo(map); {% endfor %} </script> </body> </html> ``` 最后,在命令行中运行以下命令启动 Flask 应用: ```bash python app.py ``` 访问 `http://localhost:5000` 就可以看到地图了。注意,这里需要将 `YOUR_MAPBOX_ACCESS_TOKEN` 替换为自己的 Mapbox access token。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值