Java 没有为命名空间/和操作名称HelloWorld映射的操作

Java 没有为命名空间/和操作名称HelloWorld映射的操作,java,struts2,Java,Struts2,我正在尝试运行一个简单的struts 2 HelloWorld应用程序,当我运行它时,它说“没有为名称空间/和操作名称HelloWorld映射的操作。请有人帮忙。” WARNING: Could not find action or result There is no Action mapped for namespace / and action name HelloWorld. - [unknown location] at com.opensymphony.xwork2.Defa

我正在尝试运行一个简单的struts 2 HelloWorld应用程序,当我运行它时,它说“没有为名称空间/和操作名称HelloWorld映射的操作。请有人帮忙。”

WARNING: Could not find action or result
There is no Action mapped for namespace / and action name HelloWorld. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)

->检查动作是否映射到struts文件中 ->jsp中的操作名、struts.xml中的操作名和操作类的名称都完全相同
->struts-config.xml中的动作映射在某个包下,然后将该包包含在url中(例如,在提交表单时,url必须包含包的名称)

更常见的情况是,即使struts.xml没有任何错误,struts的操作名称也没有错误,问题是jsp文件中缺少标记库定义。

可能是您在struts.xml文件中犯了错误。配置此文件的方法有几种;下面是一个示例:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="default" extends="struts-default">
        <action name="helloWorld" class="controller.HelloWorld">
            <result name="success">/HelloWorld.jsp</result>

        </action>
    </package>
</struts>

/HelloWorld.jsp
如果以这种方式执行此操作,请确保只需通过操作名称从jsp调用操作;不需要编写
。操作
:这将导致错误


这可能会回答您的问题。

显示您的struts-config.xml,可能无法找到操作u是否在struts文件中映射了操作名称?/success.jsp这里是struts.xml和web.xml文件/success.jsp Struts2登录Struts2 org.apache.Struts2.dispatcher.filterddispatcherstruts2/*Login.jsp