首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.apache.tiles.definition.NoSuchDefinitionException:找不到名为“addCustomer.tiles”的定义

org.apache.tiles.definition.NoSuchDefinitionException:找不到名为“addCustomer.tiles”的定义
EN

Stack Overflow用户
提问于 2018-06-17 08:33:15
回答 1查看 2.4K关注 0票数 0

我是新手,我用以下方式配置了我的tiles.xml:

代码语言:javascript
复制
<tiles-definitions>
  <definition name="baseLayout" template="/template/BaseLayout.jsp">
      <put-attribute name="title" value="" />
      <put-attribute name="header" value="/template/Header.jsp" />
      <put-attribute name="menu" value="/template/Menu.jsp" />
      <put-attribute name="body" value="" />
      <put-attribute name="footer" value="/template/Footer.jsp" />
  </definition>
  <definition name="/addCustomer.tiles" extends="baseLayout">
      <put-attribute name="title" value="Customer Form" />
      <put-attribute name="body" value="/addCustomer.jsp" />
   </definition>
 </tiles-definitions>

我的struts.xml如下:

代码语言:javascript
复制
<struts>
   <constant name="struts.convention.action.includeJars" value=".*?\.jar(!/|/)?" />
   <constant name="struts.convention.action.fileProtocols" value="jar,zip" />
    <package name="default" extends="struts-default" namespace="/">
      <result-types>
          <result-type name="tiles"
               class="org.apache.struts2.views.tiles.TilesResult" />
       </result-types>

           <action name="addCustomer" class="com.adv.web.action.CustomerAction" method="addCustomer">
              <result name="addCustomer" type="tiles">/addCustomer.tiles</result>
           </action>
        </package>
    </struts>

我已经将web.xml配置为:

代码语言:javascript
复制
  <context-param>
      <param-name>
        org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
      </param-name>
      <param-value>
         /WEB-INF/tiles/tiles.xml
      </param-value>
   </context-param>

   <filter>
      <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
           <param-name>actionPackages</param-name>
           <param-value>com.adv.web.action</param-value>
        </init-param>
      </filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 <listener>
    <listener-class>
     org.apache.struts2.tiles.StrutsTilesListener
    </listener-class>
 </listener>

我在struts2-tiles-plugin文件中添加了pom.xml

当我跟踪url:localhost:7001/AddStrutsViewer-1.0/addCustomer时,我得到以下异常

代码语言:javascript
复制
      INFO: Publishing TilesContext for context:
      org.apache.struts2.tiles.StrutsWildcardServletApplicationContext
      org.apache.tiles.definition.NoSuchDefinitionException: Cannot find definition named 'addCustomer.tiles'

有人能解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-11 06:31:06

/addCustomer.tiles

应该是

addCustomer.tiles

相反,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50895009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档