`
wap
  • 浏览: 75093 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2+Tiles2开始着手

阅读更多

今天看了一天的Struts 2的资料文档,对Struts 2 简化了部署与减少代码量等更多优点,非常有兴趣去了解,可能的话,可以推广起来的。

读完官方自带的showcase的主配置和主代码框架,依稀的感觉到单论Struts2+Spring2+Hibernate3.2而言,还是能够把老经验顺手沾来直接使用的,就是说可以做到简单的升级到 2.0版本来。但是我们大量采用的tiles部份,目前我了解的较少,单从配置上来说,就已经发生了一些改变,其他文件方面倒是没有什么改变。

这是原Struts1在struts.xml文件当中配置的:tiles相关的配置部份:

xml 代码
  1. <plug-in className="org.apache.struts.tiles.TilesPlugin">  
  2.     <set-property property="definitions-config"  
  3.         value="/WEB-INF/config/tiles-defs.xml" />  
  4.     <set-property property="definitions-parser-validate"  
  5.         value="true" />  
  6.     <set-property property="moduleAware" value="true" />  
  7. </plug-in>  

在struts2当中明显不再采用struts1著名的plugin技术了,直接在web.xml中多了这样的配置:

xml 代码
  1. <listener>  
  2.         <listener-class>  
  3.             org.apache.struts2.tiles.StrutsTilesListener   
  4.         </listener-class>  
  5. </listener>  

然后直接就配置tiles.xml文件,如下:

xml 代码
  1. <!DOCTYPE tiles-definitions PUBLIC   
  2.         "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"   
  3.         "http://struts.apache.org/dtds/tiles-config_2_0.dtd">  
  4.   
  5. <tiles-definitions>  
  6.   
  7.     <definition name="showcase.index" template="/tiles/layout.jsp">  
  8.         <put-attribute name="title" value="Tiles Showcase"/>  
  9.         <put-attribute name="header" value="/tiles/header.jsp"/>  
  10.         <put-attribute name="body" value="/tiles/body.jsp"/>  
  11.     </definition>  
  12.   
  13.     <definition name="showcase.freemarker" template="/tiles/layout.jsp">  
  14.         <put-attribute name="title" value="Tiles/Freemarker Showcase"/>  
  15.         <put-attribute name="header" value="/tiles/header.jsp"/>  
  16.         <put-attribute name="body" value="/tiles/body.ftl"/>  
  17.     </definition>  
  18.   
  19. </tiles-definitions>  

目前看起来,struts2使tiles的应用更加简化和快捷了。单论tiles2而言,还是比较复杂用的,但是struts简化他的部署了。

以下是在struts2中必须有的与tiels2相关的文件,考贝到项目的lib目录就OK了。

struts2-tiles-plugin.jar、tiles-api-2.0.4.jar、tiles-core-2.0.4.jar、tiles-jsp-2.04.jar

后三个文件,从tiles.apache.org下载tiles工程。

过段时间,我详细写出一些较完整的应用例子。

分享到:
评论
9 楼 xiaopingmao 2008-12-18  
楼主要写一个struts2 + tiles的例子,和大家共享一下,谢谢啦!!!
8 楼 xiaopingmao 2008-12-18  
[18 15:47:06,531 ERROR] [http-8888-1] taglib.RoleSecurityTagSupport - Error executing tag: Attribute 'body' not found.
org.apache.tiles.TilesException: Attribute 'body' not found.


我的也出现了这个问题。怎么解决呀,希望高人帮助一下!!!!
7 楼 wangbing9577 2008-12-10  
to laorer  2008-04-10:
org.apache.struts2.tiles.StrutsTilesListener改为
org.apache.struts2.tiles.StrutsTilesListener
6 楼 careprad 2008-11-26  
struts2是坨屎TMD,搞个项目这配置那配置,tils
5 楼 wap 2008-05-08  
已经报了:
2008-04-18 11:19:57,375 ERROR [org.apache.tiles.jsp.taglib.RoleSecurityTagSupport] - Error executing tag: Attribute 'title' not found.

你用Role标签了吧?你加了一个title标签?
4 楼 lhbdir 2008-04-18  
请问报这个错误是什么原因呀!找了几天的原因了都没找到呀?
2008-04-18 11:19:57,375 ERROR [org.apache.tiles.jsp.taglib.RoleSecurityTagSupport] - 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:100)
at org.apache.jsp.tiles.layout_jsp._jspService(layout_jsp.java:66)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
2008-04-18 11:19:57,375 ERROR [org.apache.tiles.jsp.taglib.RenderTagSupport] - Error during rendering
javax.servlet.jsp.JspException: Error executing tag: Attribute 'title' not found.
at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:80)
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:100)
at org.apache.jsp.tiles.layout_jsp._jspService(layout_jsp.java:66)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: 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)
... 31 more
3 楼 laorer 2008-04-10  
java.lang.ClassNotFoundException: org.apache.tiles.listener.TilesListener

我出现了这个错误,正在找,虽然报了 classnotfoundException , 但相关的jar文件都在lib目录下,所以有点闷
2 楼 beck 2007-11-04  
如果写:
<definition name="test " extends="showcase.index"">   
   <put-attribute name="title" value="test"/>   
   <put-attribute name="header" value="/tiles/header2.jsp"/>   
    <put-attribute name="body" value="/tiles/body2.jsp"/>   
</definition>

它继承了showcase.index
然后在header2.jsp或者在body2.jsp中取action中传过来的参数,取不到,不知各位有没有发现这样的问题?
1 楼 tczengjin 2007-08-18  
<listener>  
        <listener-class>  
            org.apache.struts2.tiles.StrutsTilesListener   
        </listener-class>  
</listener> 

请问当你这样配置的时候没出现严重: Error listenerStart错误吗??应用无法加载,请问如何解决的??

相关推荐

    Struts2+Tiles

    Struts2+Tiles是一个常用的Java Web开发框架组合,主要用于构建结构清晰、可维护性强的Web应用。Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,而Tiles则是Struts2的一个视图层扩展,它提供了一种...

    struts2.2+velocity+tiles+spring3+mybatis3.05整合

    总之,"struts2.2+velocity+tiles+spring3+mybatis3.05整合"实例展示了Java Web开发中的典型技术栈集成,为开发者提供了高效、稳定的开发环境,有助于提升项目开发的速度和质量。通过学习和实践这个实例,开发者可以...

    struts2+spring2+hibernate3+tiles+freemarker+ibatis 实现

    资源 struts2+spring2+hibernate3+tiles+freemarker+ibatis 架构图 的具体实现,注意没有java源文件,大家可以看一下配置,具体实现大家不防试一把 &lt;br&gt;下载架构图一目了然哦:...

    struts2.0 + tiles配置案例源码

    1. **配置依赖**:在Struts2的配置文件struts.xml中引入Tiles插件,声明相关的拦截器和结果类型。 2. **定义Tiles定义**:创建tiles-defs.xml文件,定义每个页面的组件和布局。 3. **Action结果映射**:在Action类的...

    ssm整合例子(spring3 + struts2 + mybatis3 + tiles + dwr3注解)

    整合spring3 + struts2 + mybatis3 + tiles + dwr3 这几个流行的框架。 spring3,struts2,dwr3都是用的注解,tiles与mybatis是采用的xml配置。

    struts2 + spring + tiles + log4j blank framewotk

    Struts2、Spring、Tiles和Log4j是Java Web开发中的四大核心框架,它们共同构建了一个强大且灵活的基础架构,适用于构建复杂的企业级应用程序。以下将详细解释这四个框架及其在实际开发中的应用。 **Struts2框架**:...

    struts2标签+ tiles lib

    Tiles库则是Struts2中的一个强大的视图管理组件,用于组织和重用页面布局。本文将深入探讨Struts2标签和Tiles库的使用,以及它们在实际开发中的应用。 1. **Struts2标签** Struts2提供了丰富的标签库,这些标签...

    struts2+hibernate3.3图书管理系统

    Struts2和Hibernate是Java开发领域中非常重要的两个框架,它们在构建Web应用程序时起着核心作用。Struts2是一个MVC(Model-View-Controller)框架,它为Java EE平台提供了一种处理用户交互、业务逻辑和视图分离开来...

    Struts2+Oracle增删查

    Struts2和Oracle是两种在IT行业中广泛应用的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它为开发者提供了一种组织应用程序结构和管理业务逻辑的方式。Oracle则是一种强大的关系型...

    Struts 2+Hibernate+Spring整合开发技术详解 12~17章

    Struts 2、Hibernate 和 Spring 是Java Web开发中三大核心框架,它们分别负责表现层、持久层和业务层的管理。这本由蒲子明编著的《Struts 2+Hibernate+Spring整合开发技术详解》深入探讨了如何将这三个框架有效结合...

    struts2+spring2+hibernate3+tiles+freemarker+ibatis

    架构图,大家可以完善

    Struts+hibernate+spring+tiles+validator的整合

    Struts、Hibernate、Spring 和 Tiles 是Java Web开发中四个非常重要的框架,它们分别负责不同的职责。Struts 是一个用于构建 MVC(模型-视图-控制器)架构的应用框架,Hibernate 是一个对象关系映射(ORM)工具,...

    Struts2+Spring演示实例源代码

    Struts2和Spring是两个非常重要的Java开源框架,它们在企业级Web开发中扮演着核心角色。Struts2是一个强大的MVC(Model-View-Controller)框架,它为构建基于J2EE的Web应用程序提供了全面的解决方案。而Spring则是一...

    Struts2与tiles集成示例

    Struts2和Tiles是两个非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用方面发挥着关键作用。Struts2是一个基于MVC(Model-View-Controller)模式的开源框架,它极大地简化了Java Servlets和JSP的开发。...

    struts2+jfreechart

    Struts2和JFreeChart是两个在Java Web开发中广泛使用的开源库。Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建可维护性和可扩展性极高的Web应用程序,而JFreeChart则是一个用于生成高质量图表的...

    Struts2+Spring整合所需jar包

    - **struts2-tiles-plugin.jar**:集成Tiles布局框架,方便页面的组织和复用。 - **struts2-json-plugin.jar**:支持JSON格式的数据交互,便于前后端的AJAX通信。 - **其他Struts2相关jar包**:如struts2-dojo-...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    同时,Struts2提供了丰富的插件系统,如Tiles插件用于页面布局,Ajax插件支持异步交互,以及上传下载插件等,这些都会在《Struts2技术内幕》中有详细讲解。 在源码分析部分,你将了解到Struts2如何解析HTTP请求,...

    struts2+hibernate增删改查+分页

    Struts2和Hibernate是两种非常重要的Java Web开发框架,它们在构建动态网站和企业级应用中扮演着核心角色。Struts2是一个强大的MVC(Model-View-Controller)框架,而Hibernate则是一个对象关系映射(ORM)工具,...

    struts2.0 整合tiles 配置

    4. **struts2-tiles-plugin-2.0.6.jar**:Struts2 Tiles插件。 5. **struts2-core-2.0.6.jar**:Struts2核心库。 6. **xwork-2.0.1.jar**:XWork核心库,用于处理用户请求。 #### 三、配置web.xml 接下来,在项目的...

    Struts1+Spring2+Hibernate2整合详细例子

    Struts1、Spring2和Hibernate2是Java Web开发中的三个重要框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个整合例子旨在展示如何将这三个框架协同工作,以构建一个完整的Java Web应用程序。 Struts1是...

Global site tag (gtag.js) - Google Analytics