SSH 经常出现的问题java.lang.RuntimeException: Invalid action class configuration that r

hewenting_123 2011-03-29 08:09:14
错误是:
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [userRegisterAction]
org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:100)
org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:385)
org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:274)
com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:76)
com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:215)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:356)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
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(StrutsPrepareAndExecuteFilte
UserRegister.jsp
<s:form action="UserRegisterAction">
<s:textfield name="custorm.name" label="姓名" required="true"/>
<s:password name="custorm.password" label="密码" required="true"/>
<s:submit value="注册"/>
<s:reset value="重填"/>
</s:form>

UserRegisterAction.java
private Custorm custorm;
private ServiceDao serviceDao;
public Custorm getCustorm() {
return custorm;
}
public void setCustorm(Custorm custorm) {
this.custorm = custorm;
}
public ServiceDao getServiceDao() {
return serviceDao;
}
public void setServiceDao(ServiceDao serviceDao) {
this.serviceDao = serviceDao;
}

public String execute() throws Exception{
this.serviceDao.saveCustorm(this.custorm);
return SUCCESS;

}

用了struts的验证框架
UserRegsiterAction-validation.xml
<validators>
<field name="custorm">
<field-validator type="visitor">
<param name="context">user</param>
<param name="appendPrefix">true</param>
<message>用户的</message>
</field-validator>
</field>
</validators>

Custorm-user-validaton.xml
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="password" >
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
</field>
</validators>
当我点击注册时 就出现了这个情况 按理说应该是xx不能为空之类的 是什么原因呢?
...全文
17730 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzfj2002 2013-08-28
  • 打赏
  • 举报
回复
15楼正解15楼正解
findme123 2013-05-31
  • 打赏
  • 举报
回复
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132) at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:507) at com.opensymphony.xwork2.inject.ContainerImpl$8.call(ContainerImpl.java:540) at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574) at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:538) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:213) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5309) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)
findme123 2013-05-31
  • 打赏
  • 举报
回复
请大家帮忙看看 什么错误啊
findme123 2013-05-31
  • 打赏
  • 举报
回复
ERROR org.apache.struts2.dispatcher.Dispatcher - Dispatcher initialization failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132) at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:507) at com.opensymphony.xwork2.inject.ContainerImpl$8.call(ContainerImpl.java:540) at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574) at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:538) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:213) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) at o
hou_guannan 2013-03-28
  • 打赏
  • 举报
回复
引用 15 楼 zyz1985 的回复:
应该是找到根本原因了 你的validation验证没有通过,返回input它却没有找到相应的input result 会偿试着用ACTION的class去新建一个对象所以报错了,就是你没有入口路径。。。。。
牛人!!!!
Mike_90 2013-01-02
  • 打赏
  • 举报
回复
我的也是这个错,改了好久都改不过来
walt18 2012-10-12
  • 打赏
  • 举报
回复
15楼强!我的问题解决了!我也是同样的问题!!
simaqianyihao 2012-08-27
  • 打赏
  • 举报
回复
15楼牛X啊
panzheng521 2012-08-18
  • 打赏
  • 举报
回复
15楼牛啊.真心羡慕啊.
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 的回复:]

补充一下,Action页面如果返回的是大写“SUCCESS”或者“INPUT”,在Struts.xml中的result的name属性一定是大写的。如果小写就配置小写。如果不匹配也会导致上面的错误发生。这是我今天刚刚遇到的错误,提出来与大家分享。
[/Quote]

确实,就是这么回事!
ekgniq 2012-05-18
  • 打赏
  • 举报
回复
我发现问题了
1,隐藏域 value=空
2,上传的文件时 忘了加enctype="multipart/form-data"

看看说不定有帮助
ekgniq 2012-05-18
  • 打赏
  • 举报
回复
我的没用struts标签也这样
好像还有其他有问题,请高手们赐教
learning3 2012-05-04
  • 打赏
  • 举报
回复
15楼的高手,你可不可以说详细一点啊,我就没有validation验证啊
heguangzhao987654 2012-04-10
  • 打赏
  • 举报
回复
补充一下,Action页面如果返回的是大写“SUCCESS”或者“INPUT”,在Struts.xml中的result的name属性一定是大写的。如果小写就配置小写。如果不匹配也会导致上面的错误发生。这是我今天刚刚遇到的错误,提出来与大家分享。
jk_3699 2011-12-18
  • 打赏
  • 举报
回复
咋一看,还以为没有这个类呢,但是命名存在,其实真正原因是没有合适的result name,这错误误导得可真离谱啊 忘记添加对应的result name了。当添加完毕,一切欧了。


sunyutingljz 2011-11-19
  • 打赏
  • 举报
回复
15楼的高手,你可不可以说详细一点啊,我就没有validation验证啊
sunyutingljz 2011-11-19
  • 打赏
  • 举报
回复
啥意思??我还是没解决啊
zmm2007 2011-09-26
  • 打赏
  • 举报
回复
15楼的确厉害啊!
莫欺少年穷 2011-09-08
  • 打赏
  • 举报
回复
...
zhongshanb 2011-08-27
  • 打赏
  • 举报
回复
15楼真牛,好犀利!!!
加载更多回复(18)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧