Unable to find a result type for extension [...] in location attribute
来源:互联网 发布:闲鱼可以淘宝介入吗 编辑:程序博客网 时间:2024/06/05 07:13
原因大概有很多种,我只说我碰到的情况。
项目用的是spring+struts2+jpa,用maven管理,jsp放在java/main/webapp/WEB-INF/content中。
一般action会设置目录,但有几个根目录下的jsp,如login.jsp,main.jsp,nopermisson.jsp,对应的是设置了namespace为"/"的action。
这里说的就是nopermission.action。
我有一个通用的action文件:CrudAction,实现一些基本的action动作,其他的action大多继承自它。
在这个CrudAction中,定义了一个名为nopermission的result,指向根目录下的nopermission.action,初始写法如下:
@Results({@Result(name = "nopermission", location = "/nopermission.action") })public abstract class CrudAction<T, TService extends ICrudService<T>> extendsCrudActionSupport<T> {public static final String NOPERMISSION = "nopermission";……}运行tomcat,开始报错:
2013-05-11 16:48:18,483 [main] ERROR [org.apache.struts2.dispatcher.Dispatcher] - Dispatcher initialization failedUnable to load configuration. - [unknown location]at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)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.getFilter(ApplicationFilterConfig.java:295)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)at org.apache.catalina.startup.Embedded.start(Embedded.java:825)at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:601)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)Caused by: Unable to find a result type for extension [action] in location attribute [/nopermission.action]. - [unknown location]at org.apache.struts2.convention.DefaultResultMapBuilder$ResultInfo.determineType(DefaultResultMapBuilder.java:513)at org.apache.struts2.convention.DefaultResultMapBuilder$ResultInfo.<init>(DefaultResultMapBuilder.java:485)at org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:410)at org.apache.struts2.convention.DefaultResultMapBuilder.createResultsFromAnnotations(DefaultResultMapBuilder.java:220)at org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:196)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:864)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:636)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)... 37 more五月 11, 2013 4:48:18 下午 org.apache.catalina.core.StandardContext filterStart严重: Exception starting filter struts2FilterUnable to load configuration. - [unknown location]at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:449)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:295)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)at org.apache.catalina.startup.Embedded.start(Embedded.java:825)at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:601)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)Caused by: Unable to load configuration. - [unknown location]at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436)... 35 moreCaused by: Unable to find a result type for extension [action] in location attribute [/nopermission.action]. - [unknown location]at org.apache.struts2.convention.DefaultResultMapBuilder$ResultInfo.determineType(DefaultResultMapBuilder.java:513)at org.apache.struts2.convention.DefaultResultMapBuilder$ResultInfo.<init>(DefaultResultMapBuilder.java:485)at org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:410)at org.apache.struts2.convention.DefaultResultMapBuilder.createResultsFromAnnotations(DefaultResultMapBuilder.java:220)at org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:196)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:864)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:636)at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)... 37 more
然后,我改成下面的,就好了:
@Results({@Result(name = "nopermission", location = "/nopermission.action", type = "redirect") })public abstract class CrudAction<T, TService extends ICrudService<T>> extendsCrudActionSupport<T> {public static final String NOPERMISSION = "nopermission";……}
action的默认结果类型是dispatcher,这种方式的location只能是页面,不能是另一个action。
以下两个网址有对这个问题的简单说明:
http://hi.baidu.com/foreverfly8/item/4bfae9cc04abb80c0bd93a79
http://blog.sina.com.cn/s/blog_56b7aaa10100eqs4.html
- Unable to find a result type for extension [...] in location attribute
- 解决 Error:Unable to find encoder for type stored in a Dataset
- 自定义标签 Unable to find setter method for attribute
- Unable to find setter method for attribute: [commandName]
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset问题的分析与解决
- Unable to find a value for "tStatus" in object of class org.entity.Passport using operator "."
- ELException Unable to find a value for.....in object 异常处理
- Unable to find a value for "Sex" in object of class ...错误
- Unable to instantiate default tuplizer/Could not find a getter for orders in class
- 使用CocoaPods过程中 Unable to find a specification for
- CocoaPods报错:[!] Unable to find a specification for xxxx
- Unable to find a valid document id for entity
- 误ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
- Android In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
- ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
- 记录一点点002
- 正则表达式基础
- java.util.ArrayList.contains(Object) method
- android瀑布流效果(仿蘑菇街)
- mybatis使用map传入多个参数
- Unable to find a result type for extension [...] in location attribute
- Convert Sorted List to Binary Search Tree
- 北大校赛2011 Word Ladder(C题) 解题报告
- 【Cocos2d-x 004】 在Mac下结合Xcode搭建Cocos2d-X开发环境!
- 【hdu2243】【AC自动机】【矩阵乘法】考研路茫茫——单词情结
- CCFileUtils::sharedFileUtils()->setResourceDirectory(dir) 方法的更新
- C/C++中Sqlite使用简介
- jquery弹窗遮罩
- 相机