В настоящее время перенос приложения со Struts1 на Struts2. Когда я нажимаю кнопку отправки, мне выдается сообщение об ошибке: Нет действия, сопоставленного с именем действия requestInput. Что не так с моим кодом, что является причиной этой ошибки?
веб.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. Что еще я могу сделать, чтобы исправить это? Спасибо..
ng
больше так не называется. Вам не нужно вручную включать конфигурациюstruts-default
; ваш пакет уже расширяетstruts-default
. Вам не нужно указыватьmethod
по умолчанию для действий. Я бы сначала проверил ваши журналы запуска, чтобы увидеть, есть ли какие-либо ошибки. - person Dave Newton   schedule 24.06.2020struts2-core-2.3.37.jar
, поэтому версия 2.3.37. Как называется пакетng
в этой версии? - person whatever255   schedule 24.06.2020