命名空间/动作名称教程没有映射动作
我无法执行我的struts2应用程序。 我正在使用eclipse indigo IDE,tomcat 7和jdk 1.7。
我包含的jar文件是:
- 共享记录-1.0.4.jar,
- freemarker的-2.3.8.jar,
- ognl- 2.6.11.jar,
- Struts2的核心 – 2.0.11.jar,
- XWork的-2.0.4.jar
我将struts.xml
放在WEB-INF
classes文件夹中,我也试过放入
src
文件夹,但我无法做到。 我在控制台上收到以下错误
There is no Action mapped for namespace / and action name tutorial. - [unknown location]
的index.jsp
Insert title here
在struts.xml
/success.jsp /failure.jsp
web.xml中
Struts2Starter struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* index.jsp
TutorialAction.java
package com.test; public class TutorialAction { public String execute() { System.out.println("Hello from execute"); return "success"; } }
正如其他人所指出的那样,你的映射中没有getTutorial操作,只有“教程”。 但是,我将跳过这一点,并建议您学习如何理智检查Struts2应用程序。 无论何时设置新技术,甚至在使用熟悉的技术时,了解如何进行基本的健全性检查非常有用 – 在这种情况下,您需要validationstruts xml是否已成功完成解析,框架知道你的行为。
我强烈建议您将Struts 2 Config Browser插件添加到struts 2应用程序中。 要添加插件,只需获取jar (所有struts 2插件都是jar)并放入webapp的lib目录中。 而已。 当您启动应用程序时,请点击以下URL:
http://localhost:8080/starter/config-browser/index.action
它向您展示了框架所知道的所有操作以及其他配置。 Essentialy struts 2诊断工具,太容易使用不使用它。
尝试将namespace
属性添加到struts.xml
文件的package
元素中。
像这样:
/success.jsp /failure.jsp
我有同样的问题,我在这一个上看到了多个post……这是可能的解决方案
我非常确定我已经准确地映射了我的所有动作,但是它显示了同样的错误….所以我只是清理了项目然后再次运行..它工作得非常好……试一试!
我遇到过这么多次……所以为了避免这种事情, 我只是将“../eclipse.exe -clean”添加到快捷方式图标属性….这有效,你可以忘记得到这样的错误实际上不是错误….!
出现错误是因为服务器无法找到struts.xml的正确路径。 最好将struts.xml与src文件夹或WEB-INF / classes并行放置。
尝试这一次不要追加.action
将struts.xml文件放在包外的src或WEB-INF classes文件夹中。