【问题标题】:can't change or add action in struts2无法在 struts2 中更改或添加动作
【发布时间】:2016-06-01 11:30:47
【问题描述】:

我在使用 struts 时遇到问题,我已经使用 struts 超过 4 个月了 问题是当我添加一个新动作时,我得到了这个:

之前的操作工作正常,但是当我在 struts.xml 中修改操作的名称时,我得到了上面提到的错误。 所以例如我在 struts.xml 中有以下代码

<action name="test1" class="com.onda.beans.AfficheVolList">
            <result name="success">table_vols_test_css.jsp</result>
            <result name="fail">admin.jsp</result>
        </action>

当我输入 http://localhost:8080/Myproject/test1 时,它工作正常 但是在我更改了动作的名称之后

 <action name="test2" class="com.onda.beans.AfficheVolList">
                <result name="success">table_vols_test_css.jsp</result>
                <result name="fail">admin.jsp</result>
            </action>

我尝试输入 localhost:8080/Myproject/test2 我在上一张图片中得到了错误,它甚至没有把我带到 admin.jsp

我试图清理服务器并清理工作目录但没有任何工作我什至更改了它第一次工作的服务器但是在我更改了操作的名称后它不起作用 这是日志

`Jun 01, 2016 12:24:58 PM org.apache.struts2.dispatcher.Dispatcher error
SEVERE: Could not find action or result
/Onda_vol/vols2
There is no Action mapped for namespace [/] and action name [vols2] associated with context path [/Onda_vol]. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)`

感谢您花时间回答我的问题,我真的很感激

【问题讨论】:

  • vols2 不是test2
  • 我知道我用它只是为了解释
  • 告诉别人 vol2 或 vols3 很尴尬,我只是使用测试,这样人们就可以清楚地看到我想说什么
  • 比较尴尬的是看到vols2的异常和test2的配置。
  • 是的,我试图让它变得简单,以便人们能够理解,但看起来我让它变得更复杂了

标签: java linux tomcat7


【解决方案1】:

这可能是您的 Apache Tomcat 服务器配置中的问题

您的 struts.xml 看起来非常好,没有理由更改名称会破坏操作。

以下是您可以考虑做的一些事情,这可能会解决您的问题:

  • 重启Tomcat

根据您的 linux 发行版和 Tomcat 版本,这可能会有所不同。

sudo service tomcat7 restart
  • 重新启动计算机
  • 删除并重新安装 Tomcat

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 2021-11-11
    • 2014-01-06
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多