[ https://issues.apache.org/jira/browse/WW-3564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028713#comment-13028713 ]
Johannes Geppert commented on WW-3564: -------------------------------------- 1.) Why is this Issue a Blocker? 2.) I was abble to fix this with changeing following code in method createFromResources from if (StringUtils.isBlank(fileName) || StringUtils.startsWith(fileName, ".")) { if (LOG.isTraceEnabled()) LOG.trace("Ignoring file without name [#0]", path); continue; } to if (StringUtils.isBlank(fileName) || StringUtils.startsWith(fileName, ".")) { if (LOG.isTraceEnabled()) LOG.trace("Ignoring file without name [#0]", path); continue; } else if(fileName.lastIndexOf(".") > 0){ String suffix = fileName.substring(fileName.lastIndexOf(".")+1); if(conventionsService.getResultTypesByExtension(packageConfig).get(suffix) == null) { if (LOG.isDebugEnabled()) LOG.debug("No result type defined for file suffix : [#0]. Ignoring file #1", suffix, fileName); continue; } } Now only Files where a Result Type is defined are processed. Is this the right way? > Unable to find a result type for extension > ------------------------------------------ > > Key: WW-3564 > URL: https://issues.apache.org/jira/browse/WW-3564 > Project: Struts 2 > Issue Type: Bug > Components: Plugin - Convention > Affects Versions: 2.2.1 > Environment: windows xp, spring 2.5, tomcat 5.0.28, > struts2-convention-plugin-2.2.1.jar > Reporter: Dan Du > Assignee: Maurizio Cucchiara > Priority: Blocker > Attachments: 1.jpg, 11.jpg, 2.jpg, DefaultResultMapBuilder.java > > > I set a convention constant like this below: > ========================================================================================== > <constant name="struts.convention.result.path" value="/WEB-INF/jsp" /> > ========================================================================================== > After I deployed my project to tomcat server, I backup a file "search.jsp" > and named the backup file with "search.jsp.bak", There is a class named with > "SearchAction"。The action's search method is annotated by @Action, like this: > ========================================================================================== > @Action(value = "search", results = { @Result(name = "search", location = > "/WEB-INF/jsp/search.jsp") }) > ========================================================================================== > When I startup tomcat server, I recieved some message: > ========================================================================================== > Unable to find a result type for extension [bak] in location attribute > [/WEB-INF/jsp/search.jsp.bak]. - [unknown location] > ========================================================================================== > Then I checked org.apache.struts2.convention.DefaultResultMapBuilder.java, I > found this exception throwing at line 527。 > I debug that snippet, At line 269, I found some > problems,ServletContext.getResourcePaths() method will scan a directory and > its sub-directory and return all files in these directories, If a file's > extension is not jsp, jspx,vm,ftl,html or htm。 I would get the error。 > So I think this code need to be change to fix this problem。 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira