Struts1.2、Struts1.3和Struts2.0下Tiles的配置
2009-03-03 16:55
435 查看
struts和Tiles配置取决于两者的版本,就是所需的配置文件和文件的写法有些不同。
Struts1.2和Tiles1.2:
如果使用MyEclipse自带的Struts1.2,那么就是使用自带的Tiles1.2
1.将struts.jar下META-INF/tlds/struts-tiles.tld文件复制到WebRoot/WEB_INF下,这是tiles语法解析文件;在web。xml中加入
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</jsp-config>
2.建立模板:在WebRoot下建立layout文件夹存放tiles模板,建立layout。jsp,填入如下代码
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<html>
<head>
<title><tiles:insert name="title"/></title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/layout.css">
</head>
<body>
<div id="head">
<tiles:insert attribute="head"></tiles:insert>
</div>
<div id="content">
<tiles:insert attribute="content"></tiles:insert>
</div>
</body>
</html>
上面代码将页面简单分成上下两块,head和content
3.建立tiles配置文件:在WebRoot/WEB_INF下面建立tiles-definition.xml(文件名可自己换但是要与struts-config.xml中一致),填写如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="layout_home" path="/layout/layout_home.jsp">//这一块definition是tiles的模板定义,其他的页面可以继承这个模板
<put name="title" type="string" value="XX管理系统" />
<put name="head" value="/header.jsp" />
<put name="content" value="/content.jsp" />
</definition>
<definition name="appload" extends="layout_home">//extends继承了layout_home,head和content可以直接使用。do
<put name="head" value="/login.do" />
<put name="content" value="/appload.jsp" />
</definition>
</tiles-definitions>
4.将tiles与Struts关联:在struts-config。xml的</action-mappings>后加入
<plug-in className="org.apache.struts.tiles.TilesPlugin">//这个类可在struts。jar中找到
<set-property property="definitions-config"
value="/WEB-INF/tiles-definition.xml" />//value就是第三部中的文件名
<set-property property="definitions-debug" value="2" />
<set-property property="definitions-parser-details" value="2" />
<set-property property="definitions-parser-validate"
value="true" />
</plug-in>
struts-config。xml中访问tiles-definition.xml,在action map中加入
<action path="/login"
type="com.test.loginAction">
<forward name="suc" path="login" />
</action>
//path是tiles-definition.xml中一个definition name
Struts1.3和Tiles1.3:
如果使用MyEclipse自带的Struts1.3,那么就是使用自带的Tiles1.3
步骤同struts1.2,只有一点不同,第一步在web。xml中加入
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
Struts2.0和Tiles2.x:
需要tiles包:
tiles-api-2.1.2.jar
tiles-core-2.1.2.jar
tiles-jsp-2.1.2.jar
tiles-servlet-2.1.2.jar(struts2的包当然也要加,我用的是struts2.0.8)
1.tiles-jsp-2.1.2.jar下META-INF/tld/tiles-jsp.tld文件复制到WEB-INF下,这是解析tiles的文件;(tiles2.0时tld文件在tiles-core.jar包下)
2.建立模板jsp:WebRoot/layout/layout.jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/tiles-jsp.tld" prefix="tiles"%>
<html>
<head>
<title><tiles:insertAttribute name="title"/></title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/layout.css">
</head>
<body>
<div id="head">
<tiles:insertAttribute name="head"></tiles:insertAttribute>
</div>
<div id="content">
<tiles:insertAttribute name="content"></tiles:insertAttribute>
</div>
</body>
</html>
注意标签和tiles1.x版本的区别
3.建立tiles配置文件,WebRoot/WEB-INF/tiles-definition.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<tiles-definitions>
<definition name="layout" template="/layout/layout_home.jsp">
<put-attribute name="title" type="string" value="xx管理系统" />
<put-attribute name="head" value="/head.jsp" />
<put-attribute name="content" value="/content.jsp" />
</definition>
<!-- home page bakuse-->
<definition name="login" extends="layout">
<put-attribute name="content" value="/login.jsp" />
</definition>
</tiles-definitions>
同样,标签和以前的有区别
4.关联Web。xml和tiles:Web。xml加入下列代码
<context-param>
<param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>
<param-value>
org.apache.struts2.tiles.StrutsTilesContainerFactory
</param-value>
</context-param>
<context-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>/WEB-INF/tiles-definition.xml</param-value>
</context-param>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
5.struts.xml访问tiles-definition.xml,如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="test" namespace="/" extends="tiles-default">
<action name="hello" class="com.struts2.demo.HelloAction">
<result name="suc" type="tiles">
login
</result>
<result name="fal">
/errors.jsp
</result>
</action>
</package>
</struts>
//type="tiles"中login是tiles-definition.xml中一个definition name
Struts1.2和Tiles1.2:
如果使用MyEclipse自带的Struts1.2,那么就是使用自带的Tiles1.2
1.将struts.jar下META-INF/tlds/struts-tiles.tld文件复制到WebRoot/WEB_INF下,这是tiles语法解析文件;在web。xml中加入
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</jsp-config>
2.建立模板:在WebRoot下建立layout文件夹存放tiles模板,建立layout。jsp,填入如下代码
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<html>
<head>
<title><tiles:insert name="title"/></title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/layout.css">
</head>
<body>
<div id="head">
<tiles:insert attribute="head"></tiles:insert>
</div>
<div id="content">
<tiles:insert attribute="content"></tiles:insert>
</div>
</body>
</html>
上面代码将页面简单分成上下两块,head和content
3.建立tiles配置文件:在WebRoot/WEB_INF下面建立tiles-definition.xml(文件名可自己换但是要与struts-config.xml中一致),填写如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="layout_home" path="/layout/layout_home.jsp">//这一块definition是tiles的模板定义,其他的页面可以继承这个模板
<put name="title" type="string" value="XX管理系统" />
<put name="head" value="/header.jsp" />
<put name="content" value="/content.jsp" />
</definition>
<definition name="appload" extends="layout_home">//extends继承了layout_home,head和content可以直接使用。do
<put name="head" value="/login.do" />
<put name="content" value="/appload.jsp" />
</definition>
</tiles-definitions>
4.将tiles与Struts关联:在struts-config。xml的</action-mappings>后加入
<plug-in className="org.apache.struts.tiles.TilesPlugin">//这个类可在struts。jar中找到
<set-property property="definitions-config"
value="/WEB-INF/tiles-definition.xml" />//value就是第三部中的文件名
<set-property property="definitions-debug" value="2" />
<set-property property="definitions-parser-details" value="2" />
<set-property property="definitions-parser-validate"
value="true" />
</plug-in>
struts-config。xml中访问tiles-definition.xml,在action map中加入
<action path="/login"
type="com.test.loginAction">
<forward name="suc" path="login" />
</action>
//path是tiles-definition.xml中一个definition name
Struts1.3和Tiles1.3:
如果使用MyEclipse自带的Struts1.3,那么就是使用自带的Tiles1.3
步骤同struts1.2,只有一点不同,第一步在web。xml中加入
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
Struts2.0和Tiles2.x:
需要tiles包:
tiles-api-2.1.2.jar
tiles-core-2.1.2.jar
tiles-jsp-2.1.2.jar
tiles-servlet-2.1.2.jar(struts2的包当然也要加,我用的是struts2.0.8)
1.tiles-jsp-2.1.2.jar下META-INF/tld/tiles-jsp.tld文件复制到WEB-INF下,这是解析tiles的文件;(tiles2.0时tld文件在tiles-core.jar包下)
2.建立模板jsp:WebRoot/layout/layout.jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/tiles-jsp.tld" prefix="tiles"%>
<html>
<head>
<title><tiles:insertAttribute name="title"/></title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/layout.css">
</head>
<body>
<div id="head">
<tiles:insertAttribute name="head"></tiles:insertAttribute>
</div>
<div id="content">
<tiles:insertAttribute name="content"></tiles:insertAttribute>
</div>
</body>
</html>
注意标签和tiles1.x版本的区别
3.建立tiles配置文件,WebRoot/WEB-INF/tiles-definition.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<tiles-definitions>
<definition name="layout" template="/layout/layout_home.jsp">
<put-attribute name="title" type="string" value="xx管理系统" />
<put-attribute name="head" value="/head.jsp" />
<put-attribute name="content" value="/content.jsp" />
</definition>
<!-- home page bakuse-->
<definition name="login" extends="layout">
<put-attribute name="content" value="/login.jsp" />
</definition>
</tiles-definitions>
同样,标签和以前的有区别
4.关联Web。xml和tiles:Web。xml加入下列代码
<context-param>
<param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>
<param-value>
org.apache.struts2.tiles.StrutsTilesContainerFactory
</param-value>
</context-param>
<context-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>/WEB-INF/tiles-definition.xml</param-value>
</context-param>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
5.struts.xml访问tiles-definition.xml,如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="test" namespace="/" extends="tiles-default">
<action name="hello" class="com.struts2.demo.HelloAction">
<result name="suc" type="tiles">
login
</result>
<result name="fal">
/errors.jsp
</result>
</action>
</package>
</struts>
//type="tiles"中login是tiles-definition.xml中一个definition name
相关文章推荐
- struts1.2和struts1.3的tiles框架的区别
- struts1.2 + spring2.5 + hibernate3.2框架搭建二之配置文件
- struts2.0 整合tiles 配置
- Struts1.2中配置数据源
- MyEclipse6.0.0 GA里配置struts1.2+hibernate3.0+spring1.2异常
- struts2.0 整合tiles 配置
- struts1.2 + hibernate3.2 + Spring2.5集成配置
- Struts1.2基本配置入门
- Struts1.2中的action配置
- 【网络转载】Struts1.2 配置总结
- Struts编程 Tiles的使用2——基于XML配置文件的定义和属性
- 【Struts1.2总结系列】validation.xml验证文件的配置
- 【Struts1.2总结】struts-config.xml配置
- 【Struts1.2总结】struts-config.xml配置
- struts1.2如何配置多个struts-config.xml
- nutch-1.2和nutch-1.3的配置使用
- Struts1.3 action配置
- struts2.0 整合tiles 配置
- struts1.3+spring2.5+hibernate3.2配置 +ajax
- 图解MyEclipse配置struts1.2+hibernate+spring