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

问题描述 投票:0回答:3

我正在尝试运行一个简单的 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)
    
java struts2
3个回答
0
投票
->检查action是否映射到struts文件中 ->jsp中的action名称,struts.xml中的action名称和action类的名称完全相同 ->struts-config.xml中的action映射在某个包下,然后在url中包含该包(例如,提交表单时,url必须包含包的名称)


0
投票
更常见的是,即使 struts.xml 没有任何问题,struts 获取的操作名称也不会出错,问题是 jsp 文件中缺少标记库定义。


0
投票
也许你在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>

如果您以这种方式执行此操作,只需确保您必须仅通过操作名称从 jsp 调用操作;你不需要写

.action

:那会导致错误。 

这可以回答你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.