struts2的action类名不能以"action"字符结尾

用MyEclipse struts2部署启动tomcat,居然报错,英文是“The action name cannot be the same as the action suffix”。后来把action比如LoginAction改成Login就不报了,为什么会这样?

Java代码
  1.  Dispatcher initialization failed   
  2. java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]   
  3.     at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)   
  4.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionNamespace(PackageBasedActionConfigBuilder.java:695)   
  5.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:533)   
  6.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)   
  7.     at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)   
  8.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)   
  9.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)   
  10.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)   
  11.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)   
  12.     at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)   
  13.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)   
  14.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)   
  15.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)   
  16.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)   
  17.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)   
  18.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)   
  19.     at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)   
  20.     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)   
  21.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)   
  22.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)   
  23.     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)   
  24.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)   
  25.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)   
  26.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)   
  27.     at java.lang.Thread.run(Thread.java:619)   
  28. 2009-11-29 11:16:16 org.apache.catalina.core.StandardContext filterStart   
  29. 严重: Exception starting filter struts2   
  30. The action name cannot be the same as the action suffix [Action] - Class: org.apache.struts2.convention.SEOActionNameBuilder   
  31. File: SEOActionNameBuilder.java   
  32. Method: build   
  33. Line: 64 - org/apache/struts2/convention/SEOActionNameBuilder.java:64:-1  
  34.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)   
  35.     at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)   
  36.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)   
  37.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)   
  38.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)   
  39.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)   
  40.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)   
  41.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)   
  42.     at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)   
  43.     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)   
  44.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)   
  45.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)   
  46.     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)   
  47.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)   
  48.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)   
  49.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)   
  50.     at java.lang.Thread.run(Thread.java:619)   
  51. Caused by: java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]   
  52.     at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)   
  53.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionNamespace(PackageBasedActionConfigBuilder.java:695)   
  54.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:533)   
  55.     at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)   
  56.     at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)   
  57.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)   
  58.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)   
  59.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)   
  60.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)   
  61.     ... 16 more  
 Dispatcher initialization failed
java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]
	at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionNamespace(PackageBasedActionConfigBuilder.java:695)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:533)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
	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.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
	at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
	at java.lang.Thread.run(Thread.java:619)
2009-11-29 11:16:16 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
The action name cannot be the same as the action suffix [Action] - Class: org.apache.struts2.convention.SEOActionNameBuilder
File: SEOActionNameBuilder.java
Method: build
Line: 64 - org/apache/struts2/convention/SEOActionNameBuilder.java:64:-1
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
	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.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
	at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]
	at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionNamespace(PackageBasedActionConfigBuilder.java:695)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:533)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
	... 16 more

 


问题补充:
比如我的类名是LoginAction 放在包com.test.Action目录下。
后来试了下如果把包名Action改成Actions同样不报错了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值