原创

org.apache.tiles.definition.NoSuchDefinitionException : アクションの @TilesDefinition が見つかりませんでした

温馨提示:
本文最后更新于 2024年04月12日,已超过 48 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

私のマシン上でローカルに問題なく動作する Spring Boot アプリケーションがあります。ちなみに、同じアプリケーションを Docker コンテナーで実行しようとすると、ログインページを含むindex.html にはアクセスできるもの、タイルにアクセスするのが困難となるという問題が発生します。

ここに画像の説明を入力してください

次の方法でtiles.xmlを構成しました。

<!DOCTYPE tiles-definitions PUBLIC
   "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
   "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>

<definition name="pricingLayout" template="/jsp/MasterPage/pricingLayout.jsp">
    <put-attribute name="head-includes" value="/jsp/MasterPage/empty-head.jsp" />
    <put-attribute name="header" value="/jsp/MasterPage/header.jsp" />
    <put-attribute name="menu" value="/jsp/MasterPage/menu.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="param_global" value="/jsp/MasterPage/param_global.jsp" />
    <put-attribute name="foot-includes" value="/jsp/MasterPage/empty-foot.jsp" />
</definition>
....
<definition name="accueil" extends="bdefinition">
    <put-attribute name="body" value="" />
</definition>
...
</tiles-definitions>

私の struts.xml は次のとおりです。

<struts>

<constant name="struts.devMode" value="false" />

<constant name="struts.ognl.expressionMaxLength" value="2024" />
...
    <action name="accueil" class="com.kbm.action.Accueil" method="execute">
        <result name="success" type="tiles">accueil</result>
    </action>
...

application.properties を次のように構成しました。

server.servlet.context-parameters.org.apache.tiles.CONTAINER_FACTORY=org.apache.struts2.tiles.StrutsTilesContainerFactory server.servlet.context-parameters.org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG=/WEB-INF/tiles.xml

正文到此结束
热门推荐
本文目录