问题描述
不知道问题出在哪里,所以直接把项目上传到百度网盘,麻烦各位帮我看看。报错如下:StrutsProblemReportStrutshasdetectedanunhandledexception:Messages:ThereisnoActionmappedforactionnameuserInfo_addUI.StacktracesThereisnoActionmappedforactionnameuserInfo_addUI.-[unknownlocation]com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442)org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431)java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:619)Youareseeingthispagebecausedevelopmentmodeisenabled.Developmentmode,ordevMode,enablesextradebuggingbehaviorsandreportstoassistdevelopers.Todisablethismode,set:struts.devMode=falseinyourWEB-INF/classes/struts.propertiesfile.
解决方案
解决方案二:
你返回的SUCCESS,FAIL在struts.xml配置文件中找不到贴一下你的配置文件看看
解决方案三:
引用1楼defonds的回复:
你返回的SUCCESS,FAIL在struts.xml配置文件中找不到贴一下你的配置文件看看
是网上别人的一个例子,我拿来改的。<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constantname="struts.i18n.encoding"value="UTF-8"/><!--指定默认编码集,作用于HttpServletRequest的setCharacterEncoding()和freemarker,vilocity的输出--><constantname="struts.configuration.xmlreload"value="true"/><!--当struts配置文件修改时是否自动加载--><constantname="struts.devMode"value="true"/><!--开发模式下打印详细的错误信息--><constantname="struts.ui.theme"value="xhtml"/><packagename="user"namespace="/user"extends="struts-default"><actionname="user_*"class="userInfoAction"method="{1}"><resultname="success"type="redirectAction">user_queryAllUser.action</result><resultname="input">/index.jsp</result><resultname="userList">/userList.jsp</result><resultname="addUser">/userAdd.jsp</result><resultname="updateUser">/userUpdate.jsp</result></action></package></struts>
解决方案四:
1.配置文件没有找到。首先查看你的struts.xml文件是否在src目录下2.如果解决方法一不好使,那就是你的struts.xml写错了3.注意拼写错误,一般的错误大概是struts.xml里的method有拼写错误4.如果用s:form的话namespace是需要填写的
解决方案五:
ThereisnoActionmappedforactionnameuserInfo_addUI
找不到action名为userInfo_addUI指定的action请求。通篇搜一下,看看哪里请求userInfo_addUI了,user_*可以通配user_开头的请求,但匹配不了userInfo_开头的,楼主检查下,看是否需要添加请求的配置呢?
解决方案六:
引用4楼magi1201的回复:
ThereisnoActionmappedforactionnameuserInfo_addUI找不到action名为userInfo_addUI指定的action请求。通篇搜一下,看看哪里请求userInfo_addUI了,user_*可以通配user_开头的请求,但匹配不了userInfo_开头的,楼主检查下,看是否需要添加请求的配置呢?
我也是从这里下的代码修改的,他这个没问题,可以跑的。
解决方案七:
引用5楼backier的回复:
Quote: 引用4楼magi1201的回复:
ThereisnoActionmappedforactionnameuserInfo_addUI找不到action名为userInfo_addUI指定的action请求。通篇搜一下,看看哪里请求userInfo_addUI了,user_*可以通配user_开头的请求,但匹配不了userInfo_开头的,楼主检查下,看是否需要添加请求的配置呢?
我也是从这里下的代码修改的,他这个没问题,可以跑的。
我就是把User改成了UserInfo,对应的配置文件都有修改。另外数据表增加了两个字段。
解决方案八:
<actionclass的路径要写全了,只写个Action找不到
解决方案九:
<constantname="struts.objectFactory"value="spring"/>在struts2加上这句
解决方案十:
楼主是要干嘛,找个代码下载下来就改改,难道是学生作业?如果是应付作业的,又完全不会的,呵呵那没办法,因为你问了一个问题,就会牵扯出其他问题,无穷无尽。如果是自学的,那么自己去看看这几个框架的教程视频,网络上到处都是。
解决方案十一:
把<actionname="user_*"class="userInfoAction"method="{1}">这句改成<actionname="userInfo_*"class="userInfoAction"method="{1}">楼主是要学习还是交作业,如果是学习就先把struts2学会,一个都搞不定你还集成,出了问题都不知道是谁的问题。