- 浏览: 47509 次
- 性别:
- 来自: 深圳
文章分类
先给出工程的目录结构:
webproject
|
|-css
| |-head.css
| |-body.css
| |-foot.css
|
|-img
| |-head_bg.jpg
| |-body_gb.jpg
|
|-WEB-INF
| |-pages
| |-head.jsp
| |-body1.jsp
| |-body2.jsp
| |-body3.jsp
| |-layout.jsp
| |-foot.jsp
|
|-index1.jsp
|-index2.jsp
|-index3.jsp
其中 layout.jsp 是模板,index1.jsp 、index2.jsp 和 index3.jsp 的代码如下:
index1.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body1.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
index2.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body2.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
index2.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body3.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
下面给出 layout.jsp 和 head.jsp 的源码
layout.jsp -----------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>head.jsp</title>
</head>
<body>
<tiles:insert attribute="head"></tiles:insert>
<tiles:insert attribute="body"></tiles:insert>
<tiles:insert attribute="foot"></tiles:insert>
</body>
</html>
head.jsp ---------------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>head.jsp</title>
<link href="css/header.css"[/color] rel="stylesheet" type="text/css" />
</head>
<body>
<img src="img/head_bg.gif"/>[color=red]
<div class="head">
<ul>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
</ul>
</div>
</body>
</html>
我们注意到,在上面的两个路径中,如果相对于当前的 head.jsp 文件,那么 CSS 的link 路径应该为:
<link href="../../css/header.css"[/color] rel="stylesheet" type="text/css" />
同样,引用背景图片的路径也应该为:
<img src="../../img/head_bg.gif"/>[color=blue]
但是,这样是错的!
当工程运行的时,用户请求 index1.jsp 时,用 tiles:insert 来的 head.jsp 将找不到它想引用的 CSS 和背景图片。
因为当用户请求 index1.jsp 时,这时 URL 地址是:http://localhost:8080/webproject/( 在WEB.XML 中配了 index1.jsp 为 welcome-file)
而此时 head.jsp 的路径也在此 (试验出来,没完全确定),故此时 head.jsp 引用的 CSS 和背景图片路径应该从此路径开始。所以 head.jsp 引用它们的路径分别应该为:
<link href="css/header.css"[/color] rel="stylesheet" type="text/css" />
和
<img src="img/head_bg.gif"/>[color=red]
不知是否如此,望高人指正!
webproject
|
|-css
| |-head.css
| |-body.css
| |-foot.css
|
|-img
| |-head_bg.jpg
| |-body_gb.jpg
|
|-WEB-INF
| |-pages
| |-head.jsp
| |-body1.jsp
| |-body2.jsp
| |-body3.jsp
| |-layout.jsp
| |-foot.jsp
|
|-index1.jsp
|-index2.jsp
|-index3.jsp
其中 layout.jsp 是模板,index1.jsp 、index2.jsp 和 index3.jsp 的代码如下:
index1.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body1.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
index2.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body2.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
index2.jsp 如下-------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert page="/WEB-INF/pages/layout.jsp" flush="true">
<tiles:put name="head" value="head.jsp"></tiles:put>
<tiles:put name="body" value="body3.jsp"></tiles:put>
<tiles:put name="foot" value="foot.jsp"></tiles:put>
</tiles:insert>
下面给出 layout.jsp 和 head.jsp 的源码
layout.jsp -----------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>head.jsp</title>
</head>
<body>
<tiles:insert attribute="head"></tiles:insert>
<tiles:insert attribute="body"></tiles:insert>
<tiles:insert attribute="foot"></tiles:insert>
</body>
</html>
head.jsp ---------------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>head.jsp</title>
<link href="css/header.css"[/color] rel="stylesheet" type="text/css" />
</head>
<body>
<img src="img/head_bg.gif"/>[color=red]
<div class="head">
<ul>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
<li><a href="#">##</a></li>
</ul>
</div>
</body>
</html>
我们注意到,在上面的两个路径中,如果相对于当前的 head.jsp 文件,那么 CSS 的link 路径应该为:
<link href="../../css/header.css"[/color] rel="stylesheet" type="text/css" />
同样,引用背景图片的路径也应该为:
<img src="../../img/head_bg.gif"/>[color=blue]
但是,这样是错的!
当工程运行的时,用户请求 index1.jsp 时,用 tiles:insert 来的 head.jsp 将找不到它想引用的 CSS 和背景图片。
因为当用户请求 index1.jsp 时,这时 URL 地址是:http://localhost:8080/webproject/( 在WEB.XML 中配了 index1.jsp 为 welcome-file)
而此时 head.jsp 的路径也在此 (试验出来,没完全确定),故此时 head.jsp 引用的 CSS 和背景图片路径应该从此路径开始。所以 head.jsp 引用它们的路径分别应该为:
<link href="css/header.css"[/color] rel="stylesheet" type="text/css" />
和
<img src="img/head_bg.gif"/>[color=red]
不知是否如此,望高人指正!
发表评论
-
Bat 学习
2010-08-06 16:11 713本人转自:http://blog.csdn.net/it_ma ... -
Mysql忘记root密码的解决办法
2009-06-14 22:37 910出自 : http://www.cnblogs.com/sha ... -
Windows 服务
2009-02-28 00:01 1021出自 : http://www.allwiki.com/wik ... -
桌面图标文字背景无法透明解决办法(非通用)
2008-12-10 21:32 17711. 右击桌面空白处,依次单击“属性/桌面/自定义桌面/web ... -
CHM 无法打开解决方案
2008-12-10 13:12 1850出自:http://blog.csdn.net/r ... -
删除 Myeclipse 遗留的 workspace
2008-10-24 10:41 3819有时因需要而创建多个 workspace 并在它们之间切换,但 ... -
JS的正则表达式
2008-10-06 00:03 557出自 : http://www.iteye.com/topic ... -
Java staic block
2008-09-24 16:45 796出自: http://syniii.blog.sohu.com ... -
JSF javax.crypto.BadPaddingException: Given final
2008-09-24 11:47 2532出自:http://www.mail-archive.com/ ... -
Reading Notes
2008-09-09 09:45 7161. Jsp 页面 动态和静态 include 指令的不同 ... -
HTML 符号大全
2008-08-28 23:54 704出自 : http://blog.csdn.net/icyco ... -
Windwos 验证轻松解决
2008-08-10 09:36 959出自:http://hi.baidu.com/%BA%DAca ... -
Some Likns
2008-07-25 12:51 787sourceforge 镜像:http://mirror.op ... -
MYSQL 字符集问题
2008-05-24 19:30 592出自:http://www.blogjava.net/ ... -
深入浅出URL编码
2008-05-24 16:04 915出自:http://blog.csdn.net/yzh ... -
堆栈和内存的关系(C++)
2008-05-17 15:57 1334出自:http://hi.baidu.com/an ... -
IE与FireFox的js和css几处不同点
2008-05-07 19:12 965出自:http://hi.baidu.com/zj ... -
CSS 实现圆角矩形边框
2008-05-07 00:16 2236出自:http://www.soidc.net/article ... -
Javascript 通过 URL 参数方式传值给 JSP 页面
2008-05-06 23:27 5852<%@ page language="java ...
相关推荐
在Struts中使用Tiles模板,可以有效地组织和重用页面组件,提高开发效率。 在使用Tiles模板时,必须引入相应的jar包。这些jar包包含了Tiles框架的核心类库和依赖,它们是运行Tiles功能的基础。下面将详细介绍这些...
在Struts2中使用Tiles组件,可以更有效地管理和构建动态Web应用的用户界面。 首先,我们需要理解Tiles的基本概念。Tiles是一个视图框架,它的核心思想是页面模板和组合。通过定义模板,我们可以创建一个基本的布局...
学习这个源码,你可以深入理解Struts2和Tiles如何协同工作,如何定义和使用模板,以及如何在实际项目中实现动态页面组装。这将有助于提升你在Java Web开发中的技能,尤其是对于那些需要构建大型、结构复杂的Web应用...
5. **创建JSP页面**:在JSP页面中,我们可以使用Tiles的标签来引用定义好的页面。例如,在`homePage.jsp`中: ```jsp <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %> <tiles:...
接着,需要在`struts.xml`文件中配置Tiles插件,并指定默认包。示例如下: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
Tiles框架是Apache Software Foundation发起的一个开源项目,它为开发者提供了创建复合式网页的能力,允许在运行时动态地将内容插入预定义的页面布局中。 在J2SE中,AWT和Swing提供了多种布局管理器,如FlowLayout...
2. **Tiles插件配置**: 在Struts2的配置文件中,需要启用Tiles插件,并指定Tiles的配置文件位置。 3. **Tiles配置文件**: 在这里定义页面模板和组件,比如定义一个主页面,其中包含头部、内容和底部三个部分。 4. ...
3. **创建Tiles定义**:在项目的`tiles-defs.xml`(或者在Struts2配置文件中直接定义)中定义tiles。每个定义包含一个模板,即页面的基本布局,以及一系列组件(或称为属性),它们会被插入到模板的相应位置。 ```...
在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色。Struts2是Apache软件基金会赞助的一个开源Web应用框架,它基于MVC(Model-View-Controller)设计模式,...
通过阅读和学习《Struts2+Tiles》相关的博客文章(如博文链接所示),你可以深入理解这两者的集成方式,如何配置Struts2的struts.xml和tiles.xml文件,以及如何在Action中使用Tiles API来决定页面内容。此外,你还能...
要在Struts应用中使用Tiles,需要添加相应的依赖库,并在Struts的配置文件(struts-config.xml)中配置Tiles插件。然后,可以使用Tiles的标签库来引用定义,将定义插入到JSP页面中。 以上就是关于Struts Tiles框架...
5. **在JSP中使用Tiles**:在视图层,JSP页面可以包含Tiles,使用`<tiles:insert>`标签插入定义的Tiles。 Struts-Tiles的特性包括: - **复用性**:由于页面被分解为独立的部分,可以方便地在多个页面中重用。 - **...
在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可复用的组件来构建网页。这种组件化的思想不仅使得...
2. **配置Tiles**:在`struts-config.xml`或`struts-tiles.xml`文件中配置Tiles定义。每个定义代表一个Tile,包括其名称、模板路径以及可能的属性。例如: ```xml ...
在Struts2中集成Tiles,需要在`struts.xml`配置文件中添加Tiles插件,然后在`tiles.xml`中定义页面模板。配置完成后,Action可以通过返回一个特定的结果代码来调用对应的Tiles定义。 6. **最佳实践** - 尽量将...
**注意**:在某些老版本(如2.0)的配置中,监听器类可能为`org.apache.struts2.tiles.web.startup.TilesListener`,而2.1版本中使用的是`org.apache.struts2.tiles.StrutsTilesListener`,这是2.0版本监听器类的一...
通过使用Tiles插件,我们可以创建一个Tiles配置文件,该文件定义了页面的各个部分,如头部、主体和底部,然后在Action中根据需要引用这些定义。 在提供的"TestTiles"压缩包文件中,可能包含了以下内容: 1. **...
在JSP页面中,可以通过Tiles标签库中的`tiles:insert`标签来引用Tiles组件。 ##### 示例代码: ```jsp <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> <tiles:insert page="layout.jsp" flush=...
要在Struts2项目中使用Tiles,首先需要添加Tiles和Struts2-Tiles插件的依赖到项目构建文件(如pom.xml)。接着,在Struts2的配置文件(struts.xml)中配置Tiles插件,指定tiles的配置文件位置。 3. **Tiles配置...
在Struts2中使用Tiles的主要步骤包括: 1. **配置Tiles**:在struts.xml配置文件中添加Tiles插件的配置,以及定义页面模板。 2. **定义Tiles定义**:创建一个或多个tiles-defs.xml文件,定义每个页面模板及其组成...