`
javaprograms
  • 浏览: 4051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts2 集成tiles 问题及解决办法

阅读更多
最近在学习 struts2 

想以它为基础整合一下 spring和 ibatis 弄个通用demo  以后做项目用 

后来有想把 tiles 也搞进去  可以确出来一堆的问题  困扰了我 两天 最后终于解决了

好了 废话不多说  就把我遇到的问题和解决方法拿出来和大家分享一下


在参考 struts2 showcase 后 就试着把tiles  整合到自己的应用里

可是 没有想到 这么简单的几行配置到我的应用里就愣是 出了问题。


1. tiles.xml 配置 问题 :

     把showcase 的 配置文件的内容拷贝过来 没有想到直接就出了问题

    

<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
        "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
    <definition name="showcase.index" template="/tiles/layout.jsp">
        <put name="title" value="Tiles Showcase"/>
        <put name="header" value="/tiles/header.jsp"/>
        <put name="body" value="/tiles/body.jsp"/>
    </definition>
</tiles-definitions>

这是官方的配置 照抄过来  竟然报错 真是快 吐血了

看了一下提示说:
ERROR [http-8080-Processor24] - Error executing tag: Attribute 'title' not found.
org.apache.tiles.TilesException: Attribute 'title' not found.
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:112)
	at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
	at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
	at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
	at org.apache.jsp.tiles.layout_jsp._jspx_meth_tiles_005fgetAsString_005f0(layout_jsp.java:105)
	at org.apache.jsp.tiles.layout_jsp._jspService(layout_jsp.java:62)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

定义 Attribute 'title' not found. 而且是所有的 页面都没有找到
看了一下配置文件 没有问题呀   。于是就检查 jar 看看是不是 少包
看了一下 所有的包又都还在 于是乎 就觉 包的版本不对 就把 showcase 里的 jar 全弄了过来。  这下应该好了把
  唉:结果问题依旧。

于是乎我就开始 baidu 和 谷歌  ,狂搜了大半天  也没有什么结果。  后来就 把 tiles 的文档也都下载下来。看了一下。发现:
dtd 的语法定义和官方的不一样 。
  struts2 提供的 是
http://struts.apache.org/dtds/tiles-config_2_0.dtd
<put name="title" value="Tiles Showcase"/>

而tiles 自己的是

http://tiles.apache.org/dtds/tiles-config_2_0.dtd
<put-attribute name="title" value="Tiles Showcase"/>

于是就把 tiles 的配置改成了下面的配置 。运行了一下 果然很神奇,没有再报上面的错误
至此问题终于解决了。
  回头想了一下  还真是有点可笑。竟然被这两行代码 弄得 晕头转向。也在心里"祝福"了一下开发 struts2 大大们


    


分享到:
评论
1 楼 cf2huihui 2013-02-23  
谢谢,对我有很大帮助,

相关推荐

    Struts2与tiles集成示例

    1. **Integration Setup**: 集成Struts2和Tiles需要添加相应的jar包到项目类路径中,包括struts2-core、struts2-tiles-plugin等。 2. **Tiles插件配置**: 在Struts2的配置文件中,需要启用Tiles插件,并指定Tiles的...

    struts2集成tiles2.myeclipse10教程

    总结一下,集成Struts2和Tiles2的关键步骤包括:引入依赖库、配置Struts2和Tiles2的配置文件、定义页面布局和组件、在Action中返回Tiles定义名。通过这种方式,开发者可以更好地组织和管理Web应用的视图部分,同时...

    Struts2+Tiles

    通过阅读和学习《Struts2+Tiles》相关的博客文章(如博文链接所示),你可以深入理解这两者的集成方式,如何配置Struts2的struts.xml和tiles.xml文件,以及如何在Action中使用Tiles API来决定页面内容。此外,你还能...

    struts2 tiles 模板搭建源码可运行

    - **struts2-tiles-plugin**:这个插件包含了Struts2与Tiles的集成代码,使得开发者能够使用Tiles的特性。 - **tiles-config.xml**:这是Tiles的配置文件,其中定义了页面模板和组件的映射。 - **Action类**:Struts...

    tiles+struts2

    在本篇文章中,我们将深入探讨如何在Struts2中集成Tiles框架,以及如何利用它来展示信息。 首先,我们来理解一下Tiles的核心概念。Tiles的主要功能是将一个大的网页拆分成多个小的部分,称为“tiles”或“组件”。...

    struts2 tiles2 配置例子

    在集成Tiles2到Struts2项目中,首要任务是引入必要的jar包。这些包包括`commons-digester`、`xwork`、`tiles-core`、`tiles-api`、`struts2-tiles-plugin`和`struts2-core`等。这些库提供了Tiles2的核心功能以及与...

    Struts2中使用Tiles组件

    在Struts2中集成Tiles,首先需要在项目的`pom.xml`或`build.gradle`文件中添加Tiles的依赖,这里我们使用的是Tiles2.0.6版本。确保添加的依赖与Struts2.0.12兼容。例如,在Maven项目中,你可以添加如下依赖: ```...

    struts2标签+ tiles lib

    在Struts2中集成Tiles,需要在`struts.xml`配置文件中添加Tiles插件,然后在`tiles.xml`中定义页面模板。配置完成后,Action可以通过返回一个特定的结果代码来调用对应的Tiles定义。 6. **最佳实践** - 尽量将...

    struts2 tiles实例 eclipse下运行

    总的来说,"struts2 tiles实例 eclipse下运行"涵盖了Struts2框架和Tiles插件的集成使用,以及在Eclipse开发环境下的配置和调试步骤。通过这个实例,你可以深入理解这两个组件如何协同工作,提供高效、灵活的Web应用...

    struts2 tiles 框架实例

    在Struts2中集成Tiles,可以实现更复杂的页面布局和视图控制。通过使用Tiles插件,我们可以创建一个Tiles配置文件,该文件定义了页面的各个部分,如头部、主体和底部,然后在Action中根据需要引用这些定义。 在提供...

    struts2.1.8与tiles2.0 demo

    学习这个Demo,开发者可以了解到如何在Struts2中集成Tiles2,具体步骤可能包括: 1. **添加依赖**:在项目中引入Struts2和Tiles2的依赖库。 2. **配置Struts2**:在struts.xml中启用Tiles插件,并配置拦截器。 3. *...

    Struts2 Tiles 配置篇 转载

    这篇文章将深入探讨Struts2与Tiles的集成配置及其相关知识点。 首先,理解Tiles的核心概念至关重要。Tiles允许开发者定义模板(template),这些模板可以被视为页面布局的组成部分。通过将内容插入到这些模板中,...

    tiles+struts2配置文件

    在Struts2中集成Tiles,我们需要以下步骤: 1. **添加依赖**:在项目的pom.xml文件或lib目录中,添加Tiles和Struts2相关的JAR包,确保项目能够识别和使用这两个库。 2. **配置struts-plugin.xml**:在Struts2的...

    Struts-2.1.6整合Tiles2全攻略

    ### Struts-2.1.6整合Tiles2全攻略 #### 一、概述 本文将详细介绍如何在Struts-2.1.6框架中整合Tiles2,并通过具体步骤指导完成整个配置过程。对于那些希望利用Struts2和Tiles2来构建高效、可维护的Web应用的...

    Spring3 mvc集成Tiles2

    Spring3 MVC 集成 Tiles2 是一个...总而言之,Spring3 MVC 与 Tiles2 的集成提供了一种高效、模块化的解决方案,帮助开发者构建复杂的 Web 应用程序。通过合理的配置和使用,我们可以实现更优雅、更易维护的页面结构。

    struts2 tiles的使用(小实例)

    通过以上步骤,我们就完成了Struts2与Tiles的集成,实现了页面的模块化和复用。在实际应用中,可以根据需要创建更多的定义和模板,构建复杂的页面布局。这种分层设计使得页面的管理和维护变得更加方便,也提高了代码...

    一个简单的应用Struts中tiles的例子

    在Struts中集成Tiles,我们需要完成以下步骤: 1. **添加依赖**:在项目中引入Struts和Tiles的库文件,通常是struts.jar和tiles-api.jar、tiles-compat.jar、tiles-core.jar等。 2. **配置Struts**:在struts-...

    struts2.0整合Struts 1

    书中通过实例演示了如何将Struts 1应用迁移到Struts 2,使开发者能够理解两者的差异和集成方法。 Struts 2的关键特性包括: 1. **Action类与Result**:Struts 2中的Action类替代了Struts 1的Form Bean,负责处理...

    struts2所有jar包程序文件

    5. `struts2-convention-plugin.jar`和`struts2-spring-plugin.jar`:分别是约定优于配置插件和Spring集成插件,前者简化了Action配置,后者则帮助将Struts2与Spring容器整合。 6. `struts2-dojo-plugin.jar`和`...

    struts-tiles和validator-strut2教程pdf

    Struts 2同样支持Tiles,但集成更加紧密。在Struts 2中,Tiles被称为Tiles 2,它可以利用Struts 2的拦截器机制,使页面布局和动作处理更加灵活。同时,Struts 2内置了验证框架,类似于Struts 1的Validator,但更加...

Global site tag (gtag.js) - Google Analytics