Struts2 瓷砖 org.apache.tiles.extras.complete.CompleteAutoloadTilesListener 集成错误 [英] Struts2 tiles org.apache.tiles.extras.complete.CompleteAutoloadTilesListener integration error

查看:55
本文介绍了Struts2 瓷砖 org.apache.tiles.extras.complete.CompleteAutoloadTilesListener 集成错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在关注此处发布的答案.

为磁贴添加 freemarker 支持:

工件:tiles-freemarker,:org.apache.tiles,版本:2.2.2

扩展之前示例中的测试,将 freemarker 标题合并到演示中:添加 /WEB-INF/content/tiles/test.ftl ,其中包含:

<#assign s=JspTaglibs["/struts-tags"]/><@s.textfield name="test"/>

在tiles.xml中添加了一行<put-attribute name="body" value="/WEB-INF/content/tiles/test.ftl"/>WILDCARD:package/* 定义.

<瓷砖定义><定义名称=baseLayout"模板=/WEB-INF/content/tiles/template.jsp"><put-attribute name="title" value="默认标题"/><put-attribute name="header" value="/WEB-INF/content/tiles/header.jsp"/><put-attribute name="body" value="/WEB-INF/content/tiles/body.jsp"/><put-attribute name="footer" value="/WEB-INF/content/tiles/footer.jsp"/><put-attribute name="variable" expression="OGNL:greeting"/></定义><定义名称=测试"扩展=baseLayout"><put-attribute name="title" value="测试标题"/></定义><定义名称="WILDCARD:package/*" extends="baseLayout"><put-attribute name="title" value="{1}" type="string"/><put-attribute name="body" value="/WEB-INF/content/tiles/test.ftl"/></定义><定义名称="" extends="baseLayout"></定义></tiles-定义>

测试:

我的应用程序上下文是 http://localhost:8080/Struts2Tiles2_2_2Example/ 附加 package/bla 我们有 http://localhost:8080/Struts2Tiles2_2_2Example/package/bla,我们将看到一个由速度渲染的文本字段并入视图,标题栏会显示bla".

编辑新内容:

pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.kenmcwilliams</groupId><artifactId>Struts2Tiles2_2_2Example</artifactId><version>1.0-SNAPSHOT</version><包装>战争</包装><name>Struts2Tiles2_2_2示例</name><属性><endorsed.dir>${project.build.directory}/endorsed</endorsed.dir><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server></属性><依赖项><依赖><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.1.2</version></依赖><依赖><groupId>org.apache.struts</groupId><artifactId>struts2-tiles-plugin</artifactId><version>2.3.1.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-api</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-core</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-extras</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-jsp</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-ognl</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-servlet</artifactId><version>2.2.2</version></依赖><依赖><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.6.4</version></依赖><依赖><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>1.6.4</version></依赖><依赖><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.14</version></依赖><依赖><groupId>org.apache.tiles</groupId><artifactId>tiles-freemarker</artifactId><version>2.2.2</version></依赖><依赖><groupId>javax</groupId><artifactId>javaee-web-api</artifactId><version>6.0</version><范围>提供</范围></依赖></依赖项><构建><插件><插件><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><配置><source>1.7</source><目标>1.7</目标><编译器参数><endorseddirs>${endorsed.dir}</endorseddirs></compilerArguments></配置></插件><插件><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.1.1</version><配置><failOnMissingWebXml>false</failOnMissingWebXml></配置></插件><插件><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.1</version><执行><执行><阶段>验证</阶段><目标><目标>复制</目标></目标><配置><outputDirectory>${endorsed.dir}</outputDirectory><silent>true</silent><artifactItems><artifactItem><groupId>javax</groupId><artifactId>javaee-endorsed-api</artifactId><version>6.0</version><type>jar</type></artifactItem></artifactItems></配置></执行></执行></插件></plugins></build></项目>

web.xml

<监听器><listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class></监听器><过滤器><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></过滤器><过滤器映射><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></过滤器映射></web-app>

I am following answer posted here. OGNL and wildcards working in tiles definitions with struts2-tiles-plugin?

If you know the answer, would apprecite if you tell me how to use freemarker with it. If don't even than I accept the answer if you solve my problem to make the code work.

Everything is same but

Struts2 & Tiles plugin - 2.3.4.1

pom.xml

1.6 UTF-8 3.1.2.RELEASE 2.3.4.1 1.6.6 2.2.2

<!-- Start Extras -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
</dependency>
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>
<!-- End Extras -->

<!-- Start sl4j dependencies -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<!-- End sl4j dependencies -->

<!-- Start Struts2 dependencies -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>${struts2.version}</version>
</dependency>
<!-- End struts2 dependencies -->

<!-- Start Tiles dependencies -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-tiles-plugin</artifactId>
    <version>${struts2.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>${tiles.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>${tiles.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>${tiles.version}</version>
</dependency>
<!-- End Tiles dependencies -->

ERROR

Oct 29, 2012 9:51:19 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.apache.tiles.extras.complete.CompleteAutoloadTilesListener
java.lang.NullPointerException
    at org.apache.tiles.el.JspExpressionFactoryFactory.getExpressionFactory(JspExpressionFactoryFactory.java:61)
    at org.apache.tiles.extras.complete.CompleteAutoloadTilesContainerFactory.createELEvaluator(CompleteAutoloadTilesContainerFactory.java:268)
    at org.apache.tiles.extras.complete.CompleteAutoloadTilesContainerFactory.createAttributeEvaluatorFactory(CompleteAutoloadTilesContainerFactory.java:204)
    at org.apache.tiles.factory.BasicTilesContainerFactory.createContainer(BasicTilesContainerFactory.java:106)
    at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractTilesInitializer.java:124)
    at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesInitializer.java:70)
    at org.apache.tiles.web.startup.AbstractTilesListener.contextInitialized(AbstractTilesListener.java:62)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    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)
Oct 29, 2012 9:51:19 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Oct 29, 2012 9:51:19 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/2_Sruts2_Tiles_JSP] startup failed due to previous errors

pom dependencies

Web.xml

<listener>
        <listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class>
    </listener>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

EDITED VERSION :

POM.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.myapp</groupId>
    <artifactId>Struts2_Old_Tiles_JSP_Freemarker</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <name>Struts2_Old_Tiles_JSP_Freemarker WebApp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <java.version>1.6</java.version>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-tiles-plugin</artifactId>
            <version>2.3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-api</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-core</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-extras</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-ognl</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-servlet</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-freemarker</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>Struts2_Old_Tiles_JSP_Freemarker</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
        </plugins>
    </build>
</project>

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constant name="struts.devMode" value="true"/>
    <constant name="struts.ui.theme" value="simple"/>
    <constant name="struts.enable.SlashesInActionNames" value="true"/>
    <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>

    <package name="basicstruts2" namespace="/" extends="tiles-default">
        <result-types>
            <result-type name="tiles" default="true" class="org.apache.struts2.views.tiles.TilesResult"/>
        </result-types>
        <action name="/**" class="com.kenmcwilliams.tiles.action.Test">
            <result>{1}</result>
        </action>
    </package>
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <listener>
        <listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class>
    </listener>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

tiles.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
        "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
    <definition name="baseLayout" template="/WEB-INF/content/tiles/template.jsp">
        <put-attribute name="title" value="Default Title"/>
        <put-attribute name="header" value="/WEB-INF/content/tiles/header.jsp"/>
        <put-attribute name="body" value="/WEB-INF/content/tiles/body.jsp"/>
        <put-attribute name="footer" value="/WEB-INF/content/tiles/footer.jsp"/>
        <put-attribute name="variable" expression="OGNL:greeting"/>
    </definition>
    <definition name="test" extends="baseLayout">
        <put-attribute name="title" value="Test Title"/>
    </definition>
    <definition name="WILDCARD:package/*" extends="baseLayout">
        <put-attribute name="title" value="{1}" type="string"/>
        <put-attribute name="body" value="/WEB-INF/content/tiles/test.ftl"/>
    </definition>
    <definition name="" extends="baseLayout">
    </definition>
</tiles-definitions>

Conclusion

if you use it with Glassfish as tested with the code is working fine BUT

After alot of testing and checking, the problem is with embedded tomcat7 instance which is not working with the above web.xml configuration and genertating error. Below is the pom.xml plugin that if run tomcat7:run will generate the error. Not sure whats the problem.

 <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <port>8000</port>
                </configuration>
            </plugin>

解决方案

Note: The following has been tested to work (struts2 with tiles 2.2.2 and freemarker). Due to time constraints this solution works with struts2 2.3.1.2 and the struts2-tiles-plugin-2.3.1.2 but NOT higher versions. Tried 2.3.4.1 and something broke.

Set up the following: OGNL and wildcards working in tiles definitions with struts2-tiles-plugin?

Add freemarker support for tiles:

Artifact: tiles-freemarker, Group: org.apache.tiles, Version: 2.2.2

Extending the test from the previous example to incorporate a freemarker title into the demo: Add /WEB-INF/content/tiles/test.ftl which contains:

<#assign s=JspTaglibs["/struts-tags"] /> 
<@s.textfield name="test"/>

One line has been added to tiles.xml <put-attribute name="body" value="/WEB-INF/content/tiles/test.ftl"/> under the WILDCARD:package/* definition.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
    <definition name="baseLayout" template="/WEB-INF/content/tiles/template.jsp">
        <put-attribute name="title" value="Default Title"/>
        <put-attribute name="header" value="/WEB-INF/content/tiles/header.jsp"/>
        <put-attribute name="body" value="/WEB-INF/content/tiles/body.jsp"/>
        <put-attribute name="footer" value="/WEB-INF/content/tiles/footer.jsp"/>
        <put-attribute name="variable"  expression="OGNL:greeting"/>
    </definition>
    <definition name="test" extends="baseLayout">
        <put-attribute name="title" value="Test Title"/>
    </definition>
    <definition name="WILDCARD:package/*" extends="baseLayout">
        <put-attribute name="title" value="{1}" type="string"/>
        <put-attribute name="body" value="/WEB-INF/content/tiles/test.ftl"/>
    </definition>
    <definition name="" extends="baseLayout">
    </definition>
</tiles-definitions>

Test it:

My applicaton context is http://localhost:8080/Struts2Tiles2_2_2Example/ appending package/bla we have http://localhost:8080/Struts2Tiles2_2_2Example/package/blaand we will see a text field rendered by velocity incorporated into the view, and the title bar will say 'bla'.

Edit new content:

pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.kenmcwilliams</groupId>
    <artifactId>Struts2Tiles2_2_2Example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>Struts2Tiles2_2_2Example</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-tiles-plugin</artifactId>
            <version>2.3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-api</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-core</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-extras</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-ognl</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-servlet</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-freemarker</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>6.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <listener>
        <listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class>
    </listener>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

这篇关于Struts2 瓷砖 org.apache.tiles.extras.complete.CompleteAutoloadTilesListener 集成错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆