Struts1.2、Struts1.3和Struts2.0下Tiles的配置

2024-04-19 23:48

本文主要是介绍Struts1.2、Struts1.3和Struts2.0下Tiles的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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、Struts1.3和Struts2.0下Tiles的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918766

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

MySQL配置多主复制的实现步骤

《MySQL配置多主复制的实现步骤》多主复制是一种允许多个MySQL服务器同时接受写操作的复制方式,本文就来介绍一下MySQL配置多主复制的实现步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 环境准备2. 配置每台服务器2.1 修改每台服务器的配置文件3. 安装和配置插件4. 启动组复制4.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca