org.apache.tiles.tileException:Attribute';标题';在struts2中未找到

org.apache.tiles.tileException:Attribute';标题';在struts2中未找到,struts2,tiles2,Struts2,Tiles2,我在struts应用程序中使用了tiles。 我犯了这样的错误 Servlet.service() for servlet [jsp] in context with path [/Sample_Struts2] threw exception [javax.servlet.ServletException: javax.servlet.jsp.JspException: Error executing tag: Attribute 'header' not found.] with root

我在struts应用程序中使用了tiles。 我犯了这样的错误

Servlet.service() for servlet [jsp] in context with path [/Sample_Struts2] threw exception [javax.servlet.ServletException: javax.servlet.jsp.JspException: Error executing tag: Attribute 'header' not found.] with root cause
struts.xml

 <package name="tiles-sample" extends="tiles-default">
<result-types>
    <result-type name="tiles"
        class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>

<action name="*Link" method="{1}" class="com.sample.TilesAction">
    <result name="welcome" type="tiles">welcome</result>
    <result name="friends" type="tiles">friends</result>
    <result name="office" type="tiles">office</result>
</action>
我使用的是struts 2.3.1.2版本。 我不知道到底是什么问题。 任何人都能帮上忙吗?

在struts.xml中:
in struts.xml : 

<action name="*Link" method="{1}" class="com.sample.TilesAction">
    <result name="welcome" type="tiles">helloWorld</result>
    <result name="friends" type="tiles">friends</result>
    <result name="office" type="tiles">office</result>
</action>

in tile.xml 

<definition name="helloWorld" template="/TilesSample.jsp">
    <put-attribute name="header" value="/Header.jsp"/>   
      <put-attribute name="menu"   value="/Menu.jsp"/>
      <put-attribute name="body"   value="/Body.jsp"/>
      <put-attribute name="footer"   value="/Footer.jsp"/>
  </definition> 

<definition name="friend" extends="helloWorld">   
      <put-attribute name="header" value="/Header1.jsp"/>   
      <put-attribute name="menu"   value="/Menu1.jsp"/>
      <put-attribute name="body"   value="/Body1.jsp"/>
      <put-attribute name="footer"   value="/Footer1.jsp"/>
  </definition>  
<definition name="office" extends="helloWorld">   
      <put-attribute name="header" value="/Header2.jsp"/>   
      <put-attribute name="menu"   value="/Menu2.jsp"/>
      <put-attribute name="body"   value="/Body2.jsp"/>
      <put-attribute name="footer"   value="/Footer2.jsp"/>
  </definition>  
地狱世界 朋友 办公室 在tile.xml中
您是否创建了Header.jsp并将其放置在正确的位置?是的,我创建了Header.jsp文件。我只把它放在正确的地方。
<!DOCTYPE tiles-definitions PUBLIC
   "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
   "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

<tiles-definitions>
    <definition name="helloWorld" template="/TilesSample.jsp">
      <put-attribute name="header" value="/Header.jsp"/>
      <put-attribute name="menu" value="/Menu.jsp"/>
      <put-attribute name="body" value="/HelloWorld.jsp"/>
      <put-attribute name="footer" value="/Footer.jsp"/>    

   </definition>
</tiles-definitions>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<body>
    <table border="1" cellpadding="2" cellspacing="2" align="center">
        <tr>
            <td height="30" colspan="2"><tiles:insertAttribute name="header" />
            </td>
        </tr>
        <tr>
            <td height="250"><tiles:insertAttribute name="menu" /></td>
            <td width="350"><tiles:insertAttribute name="body" /></td>
        </tr>
        <tr>
            <td height="30" colspan="2"><tiles:insertAttribute name="footer" />
            </td>
        </tr>
    </table>
</body>
</html>
org.apache.tiles.jsp.taglib.RoleSecurityTagSupport doEndTag
SEVERE: Error executing tag: Attribute 'header' not found.
org.apache.tiles.TilesException: Attribute 'header' not found.
    at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:112)
    at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:154)
    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_jsp._jspx_meth_tiles_005finsertAttribute_005f0(Tiles_jsp.java:115)
    at org.apache.jsp.Tiles_jsp._jspService(Tiles_jsp.java:67)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
in struts.xml : 

<action name="*Link" method="{1}" class="com.sample.TilesAction">
    <result name="welcome" type="tiles">helloWorld</result>
    <result name="friends" type="tiles">friends</result>
    <result name="office" type="tiles">office</result>
</action>

in tile.xml 

<definition name="helloWorld" template="/TilesSample.jsp">
    <put-attribute name="header" value="/Header.jsp"/>   
      <put-attribute name="menu"   value="/Menu.jsp"/>
      <put-attribute name="body"   value="/Body.jsp"/>
      <put-attribute name="footer"   value="/Footer.jsp"/>
  </definition> 

<definition name="friend" extends="helloWorld">   
      <put-attribute name="header" value="/Header1.jsp"/>   
      <put-attribute name="menu"   value="/Menu1.jsp"/>
      <put-attribute name="body"   value="/Body1.jsp"/>
      <put-attribute name="footer"   value="/Footer1.jsp"/>
  </definition>  
<definition name="office" extends="helloWorld">   
      <put-attribute name="header" value="/Header2.jsp"/>   
      <put-attribute name="menu"   value="/Menu2.jsp"/>
      <put-attribute name="body"   value="/Body2.jsp"/>
      <put-attribute name="footer"   value="/Footer2.jsp"/>
  </definition>