0

現在、アプリを Struts1 から Struts2 に移行しています。「送信」ボタンをクリックすると、「アクション名 requestInput にマップされたアクションがありません」というエラーが表示されます。このエラーの原因となっているコードの何が問題になっていますか?

web.xml

<web-app>
    <display-name>My Project</display-name>

    <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>

    <!-- The Usual Welcome File List -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

struts.xml

<struts>
    <include file="struts-default.xml" />
    <constant name="struts.custom.i18n.resources" value="global" />
    
    <package name="default" namespace="/" extends="struts-default">
        <interceptors>
            <interceptor-stack name="uploadFile">
                <interceptor-ref name="fileUpload" />
                <interceptor-ref name="uploadForm" />
                <interceptor-ref name="modelDriven" />
                <interceptor-ref name="basicStack" />
            </interceptor-stack>
        </interceptors>
        

        <action name="requestInput" class="com.class.action.FileAddAction" method="execute">
            <result>/result.jsp</result>
        </action>


    </package>
</struts>

FileAdd.jsp

<s:form method="POST" action="requestInput" enctype="multipart/form-data">
...
<s:submit property="submit" style="background:#dccaa0" value="Submit" theme="simple"/>
...
</s:form>

FileAddAction.jsp

public final class FileAddAction extends ActionSupport implements SessionAware, ServletRequestAware {
...
public String execute() throws Exception{
...
}
}

そして、私の struts.xml は Java src フォルダーと WEB-INF フォルダーにあります。これを修正するために他に何ができますか? ありがとう..

4

1 に答える 1