Skip to content

Upgrading Struts to 2.5.31 from 2.3 and jquery from 3.7.1 to 4.0.3 - Mapping no longer working #348

@nsethblanchard

Description

@nsethblanchard

Hey all! I am struggling to find the issue for why my page isn't loading correctly during the process of upgrading my dependencies. I feel like I have tried everything so am going to include more code than is probably necessary. I added jquery-ui based on some other discussions I read but that didn't seem to help.

From my parent pom.xml file.

<struts.version>2.5.31</struts.version>
 <struts.jquery.version>4.0.3</struts.jquery.version>
 <struts.jquery-ui.version>1.13.0</struts.jquery-ui.version>

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>${struts.version}</version>
</dependency>
 <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-json-plugin</artifactId>
    <version>${struts.version}</version>
 </dependency>
 <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-tiles-plugin</artifactId>
    <version>${struts.version}</version>
  </dependency>
  <dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jquery-plugin</artifactId>
    <version>${struts.jquery.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-velocity-plugin</artifactId>
        </exclusion>
    </exclusions>
  </dependency>
  <dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jqueFn</artifactId>
    <version>${struts.jquery.version}</version>
  </dependency>
  <dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jquery-chart-plugin</artifactId>
    <version>${struts.jquery.version}</version>
  </dependency>
  <dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jquery-grid-plugin</artifactId>
    <version>${struts.jquery.version}</version>
  </dependency>
  <dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jquery-richtext-plugin</artifactId>
    <version>${struts.jquery.version}</version>
  </dependency>
  <dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery-ui</artifactId>
    <version>${struts.jquery-ui.version}</version>
  </dependency>

From my index.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>

<s:url var="getMainPage" action="settings_main.action"/>
<s:url var="getCurrentStatus" action="controller_main.action" />
<s:url var="getSideMenu" action="admin_getSideMenuDB.action" />

...and then within the body (and this all worked before attempting to upgrade)

   <div id="page_body">
            <table style="width:100%;padding:0;margin:0;border-spacing:0;">
                <tr>
                    <td style="background-color:#00205c;width:100px;vertical-align:top;padding:0;margin:0;">
                        <sj:div id="sideMenuDiv" href="%{getSideMenu}"/>
                    </td>
                    <td rowspan="2" style="padding:0;margin:0;background-color:#fff;vertical-align:top;">
                        <div style="height:5px;margin:0 0 5px 10px;">
                            <span id="indicator" style="display:block;"><img src="<s:url value="/images/indicator.gif" />"  alt=""/>
                                <s:property value="getText('page.label.pleaseWait')" />
                            </span>
                        </div>
                        <div id="contentDiv" style="padding:0;margin:0;overflow-y:auto;overflow-x:hidden;">
                            <sj:div id="content_window" href="%{getMainPage}" indicator="indicator"/>
                        </div>
                    </td>
                </tr>
                <tr>
                    <td style="background-color:#00205c;"><img src="images/transparent.gif" width="100" alt=""/>
                    </td>
                </tr>
            </table>
        </div>

None of the top struts url pages have changed at all.

Not sure if this adds anything because it also wasn't changed but I read that wildcard action mapping may have changed but this is in my struts.xml file.

<action name="settings_*" class="com.removed.action.SettingsAction" method="{1}">
  <result name="input">/pages/settings.jsp</result>
  <result>/pages/settings.jsp</result>
  <result name="main">/pages/mainMenu.jsp</result>
</action>

This all works if I revert my version updates but gives me a 404 now. Any ideas or follow up questions so I can clarify?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions