需要将Struts 2.3.24.1更新到Struts最新版本即2.5.20

时间:2019-04-06 05:43:34

标签: struts2

我有一个在Struts 2.3.24.1中实现的应用程序,现在我需要在最新版本的Struts 2.5.20中对其进行更新。我升级了依赖关系并开始出现错误。

错误:

没有为与上下文路径[/ Struts2Tiles]关联的名称空间[/]和操作名称[welcomeLink]映射任何操作。 -[未知位置]     在com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:195)

我在struts.xml中尝试了以下解决方案

<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default" namespace="/">

我从以下URL下载整个示例示例: https://examples.javacodegeeks.com/wp-content/uploads/2017/09/Struts2Tiles.zip

Struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <package name="default" extends="struts-default" namespace="/">
        <result-types>
            <result-type name="tiles"
                class="org.apache.struts2.views.tiles.TilesResult" />
        </result-types>
        <action name="*Link" method="{1}"
            class="com.jcg.struts2.tiles.LinkAction">
            <result name="welcome" type="tiles">welcome</result>
            <result name="friends" type="tiles">friends</result>
            <result name="office" type="tiles">office</result>
        </action>
    </package>
</struts>

POM.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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>Struts2Tiles</groupId>
    <artifactId>Struts2Tiles</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <!-- Servlet API Dependency -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <!-- Struts2 Core Framework Dependency -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.20</version>
        </dependency>
        <!-- Struts2 Tiles Framework Dependency -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-tiles-plugin</artifactId>
            <version>2.5.20</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
    </build>
</project>

预期结果: 需要升级最新的Struts版本中的代码。

0 个答案:

没有答案