`
smallboy2008
  • 浏览: 978 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts中应用Tiles框架的问题

阅读更多
在Struts中应用Tiles框架,利用ForwardAction进行跳转,但出现Path index-definition does not start with a "/" character的问题。此处的index-definition 是在tiles-defs.xml中定义的,作为struts-config中Action配置的parameter属性的值。
上述方法引用自网络,但运行中会出现java.lang.IllegalArgumentException: Path index-definition does not start with a "/" character异常。
代码如下:
  <action-mappings>
    <action path="/index"
		type="org.apache.struts.actions.ForwardAction"
		parameter="index-definition">
	</action>
  </action-mappings>

<definition name="index-definition" path="/layout.jsp">
<put name="sidebar" value="sidebar.jsp"/>
<put name="header" value="header.jsp"/>
<put name="content" value="indexContent.jsp"/>
<put name="footer" value="footer.jsp"/>
</definition>

严重: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: Path index-definition does not start with a "/" character
	at org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:379)
	at org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:195)
	at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:107)
	at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
	at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:619)
分享到:
评论
1 楼 chenychjj 2008-08-15  
  <action-mappings>
    <action path="/index"
type="org.apache.struts.actions.ForwardAction"
parameter="index-definition">
</action>
  </action-mappings>

改成
  <action-mappings>
    <action path="/index"
type="org.apache.struts.actions.ForwardAction">
       <forward name="success"
                  path="index-definition"></forward>
  </action>
  </action-mappings>
在你的ForwardAction中的execute方法里
return mapping.findForward("success");

你可以试一下

相关推荐

    struts资料\Tiles框架--页面布局

    定义是Tiles框架中的核心元素,它描述了页面的组成结构,包括各个组件的位置和内容。定义可以包含其他定义,形成嵌套结构,这使得页面布局更加灵活。 4. **Tiles布局(Layout)** 布局是定义的一种特殊形式,它...

    struts-tiles框架

    总之,Struts-Tiles是Struts框架中的强大工具,它简化了Web应用的页面布局和组件管理,使得开发者能更专注于业务逻辑而不是页面的结构设计。通过合理使用Tiles和定义,可以构建出高效、可维护的Web应用。

    struts2 tiles 框架实例

    Struts2 Tiles框架是Java Web开发中的一个强大工具,它结合了Struts2框架和Tiles框架的优势,使得页面布局和视图管理变得更加高效和灵活。这个框架实例将帮助我们理解如何在实际项目中运用这两个技术。 首先,让...

    Struts1-tiles标签

    应用Tiles框架时,需要注意所有页面必须是服务器端的JSP页面,而不是HTML页面,因为Tiles基于JSP技术。此外,Tiles框架包含了Tiles标签库,用于在JSP页面中操作和管理Tiles组件;配置文件用于定义和配置Tiles组件;...

    Struts2+Tiles

    Tiles框架则主要负责页面布局和组合,其特点包括: 1. **定义模板(Definition)**:Tiles定义了一个页面布局,可以包含多个区域(或称为部分),每个区域可以填充不同的内容。 2. **组件(Component)**:组件是...

    在struts中的tiles模板使用的jar包

    同时,需要在Struts的配置文件(如struts-config.xml或struts2的struts.xml)中配置Tiles插件,并在应用的JSP页面中使用Tiles标签来组织内容。 总结起来,使用Struts中的Tiles模板需要一系列的jar包支持,这些库...

    struts2.0 整合tiles 配置

    Struts2框架是基于Java的企业级Web应用开发框架之一,而Tiles则是一个用来组织页面布局的强大工具。将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现统一的页面风格,提高开发效率。 #### 二、所需JAR...

    Struts2与tiles集成示例

    **Tiles框架核心概念** 1. **Tiles Definition**: 定义了页面的模板结构,可以包含多个部分,如头部、主体、底部等。每个部分可以引用其他定义或者直接是具体的JSP页面。 2. **Tiles Container**: 负责解析和组装...

    struts2 tiles 模板搭建源码可运行

    在Struts2中,Tiles框架的主要功能包括: 1. **页面模板**:Tiles允许定义页面模板,这些模板包含可重用的页面片段,如头部、底部和侧边栏。这样,开发者可以在多个页面间共享相同的布局,提高代码复用性。 2. **...

    struts中tiles标签简介

    Tiles框架是Struts框架中的一个重要组成部分,它提供了一种简单而强大的方式来构建复杂的网页布局。通过灵活使用Tiles标签,开发者可以轻松实现页面的模块化设计,提高代码的复用性和维护性。此外,Tiles还支持属性...

    Struts2 tiles操作例子

    在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色。Struts2是Apache软件基金会赞助的一个开源Web应用框架,它基于MVC(Model-View-Controller)设计模式,...

    精通Struts:Tiles框架(文档)

    - **TilesPlugIn插件**:这是一个Struts插件,用于集成Tiles框架到Struts应用中,处理Tiles定义和请求解析。 在传统的JSP开发中,创建复合式网页通常依赖于JSP的`&lt;jsp:include&gt;`指令。然而,这种方式会带来代码冗余...

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

    Tiles框架的核心是定义布局(Tiles Definition),这是一份XML文件,其中描述了页面的各个部分(或"部件")及其内容来源。部件可以是静态HTML、JSP页面或其他Tiles定义,实现页面的嵌套和复用。 在Struts中集成...

    struts2集成tiles2.myeclipse10教程

    Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。Tiles2是另一个流行的Java库,它允许开发者将网页分解为可重用的部分,这些部分可以组合成更复杂的页面布局。MyEclipse10...

    Tiles框架的配置

    接下来,我们将深入探讨Tiles框架的配置及其在实际开发中的应用。 首先,Tiles框架基于Apache Struts项目,它提供了一种声明式的方式来定义页面布局。通过XML配置文件,我们可以指定页面的不同部分(如头部、主体、...

    Struts2中使用Tiles组件

    在Struts2中使用Tiles组件,可以更有效地管理和构建动态Web应用的用户界面。 首先,我们需要理解Tiles的基本概念。Tiles是一个视图框架,它的核心思想是页面模板和组合。通过定义模板,我们可以创建一个基本的布局...

    tiles框架增加一个页面的步骤

    通过以上步骤,我们不仅成功地在Tiles框架中添加了一个新的页面,而且还学习了如何使用Tiles框架来构建具有统一风格和外观的Web应用程序。Tiles框架的强大之处在于它的灵活性和可扩展性,它可以轻松地适应各种复杂的...

    tiles+struts2

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

    12_使用Tiles框架.pdf

    Tiles框架通过引入模板机制,解决了这个问题,它允许开发者定义可重用的组件,并在运行时动态插入到页面模板中。 Tiles的核心特性包括: 1. **创建可重用的模板**:Tiles允许开发者定义模板文件,这些模板可以包含...

    struts2 mvc tiles

    在Struts2框架中,它提供了对这一模式的高效支持。 MVC组件在Struts2中的角色如下: 1. **模型(Model)**:通常由JavaBeans或DAO(数据访问对象)组成,负责处理业务逻辑和数据操作。在Struts2中,Action类扮演...

Global site tag (gtag.js) - Google Analytics