[
https://issues.apache.org/jira/browse/WW-3803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262069#comment-13262069
]
Lukasz Lenart commented on WW-3803:
-----------------------------------
Right now:
{noformat}
Messages:
File "/struts-tags" not found
File: org/apache/jasper/compiler/DefaultErrorHandler.java
Line number: 51
{noformat}
{noformat}
org.apache.jasper.JasperException: File "/struts-tags" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:177)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:386)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:448)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1398)
org.apache.jasper.compiler.Parser.parse(Parser.java:130)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:360)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:840)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:622)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:560)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:488)
org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
com.opensymphony.xwork2.DefaultActionInvocation.execute(DefaultActionInvocation.java:283)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invokeNextInterceptor(DefaultActionInvocation.java:258)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
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:280)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
java.lang.Thread.run(Thread.java:680)
{noformat}
> Convention Plugin treats struts.convention.package.locators as a part of
> package name
> -------------------------------------------------------------------------------------
>
> Key: WW-3803
> URL: https://issues.apache.org/jira/browse/WW-3803
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Convention
> Affects Versions: 2.3.1, 2.3.1.1
> Environment: JDK 6, JBoss AS 7.1.0 Final, Windows 7, Struts 2, EAR
> deployment.
> Reporter: nick
> Assignee: Lukasz Lenart
> Fix For: 2.3.4
>
>
> My struts.xml is as follows..
> {code:xml}
> <constant name="struts.devMode" value="true" />
> <constant name="struts.configuration.xml.reload" value="true"/>
> <constant name="struts.convention.exclude.parentClassLoader" value="true"
> />
> <constant name="struts.convention.action.fileProtocols"
> value="jar,vfsfile,vfszip,vfs,zip" />
> <constant name="struts.convention.result.path" value="/WEB-INF/jsp/"/>
> <constant name="struts.i18n.reload" value="false" />
> <constant name="struts.locale" value="en_IN" />
> <constant name="struts.multipart.maxSize" value="10485760" />
> <constant name="struts.multipart.parser" value="jakarta"/>
> <constant name="struts.convention.action.mapAllMatches" value="true" />
> <constant name="struts.convention.default.parent.package" value="egov" />
> <!-- Comma separated list of regular expressions of jar URLs to be
> scanned -->
> <constant name="struts.convention.action.includeJars" value=".*egov-.*" />
> <!-- Packages whose name ends with one of these strings will be scanned
> for actions -->
> <constant name="struts.convention.package.locators" value="actions"/>
> <!--
> This makes the URL for an action like HelloWorldAction.java be
> /helloWorld.action rather than /hello-world
> By default Struts2 uses the SEOActionNameBuilder.
> -->
> <bean type="org.apache.struts2.convention.ActionNameBuilder"
> name="defaultActionNameBuilder"
> class="org.apache.struts2.convention.DefaultActionNameBuilder"/>
> <constant name="struts.convention.actionNameBuilder"
> value="defaultActionNameBuilder"/>
> ......
> {code}
> my action package structure is like org.x.y.web.actions.transactions
> my jsp's are under WEB-INF/jsp/ transactions/
> I'm getting the following error
> {noformat}
> ERROR [com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor]
> (http-localhost-127.0.0.1-9080-2) No result defined for action
> org.x.y.web.actions.transactions.FirstAction and result new: No result
> defined for actionorg.x.y.web.actions.transactions.FirstAction and result new
> at
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:376)
> [xwork-core-2.3.1.jar:2.3.1]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:278)
> [xwork-core-2.3.1.jar:2.3.1]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
> [xwork-core-2.3.1.jar:2.3.1]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [xwork-core-2.3.1.jar:2.3.1]
> {noformat}
> Its hitting FirstAction class method and returning string "new"
> (first-new.jsp)
> My WEB-INF/jsp/ transactions/ folder has first-new.jsp.
> I guess this may be a bug in conventional-plugin
> i have commented out <constant name="struts.convention.package.locators"
> value="actions"/>
> and tried it but it doesn't worked out.
> Then i have changed my package name from transactions to trns.........
> ie :
> my action package structure is like org.x.y.web.actions.trns
> my jsp's are under WEB-INF/jsp/ trns/
> there it goes, its working perfectly :) .
> i'm facing it when i use transactions as package name (Is it something to do
> with trans"actions").
> even i guess this will be applicable for all package names starts or ends
> with "actions"
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira