Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.16
    • Fix Version/s: 2.3.20
    • Component/s: None
    • Labels:
      None

      Description

      The first 2 works:
      <sx:datetimepicker/>
      <sx:datetimepicker name="birthdate"/>

      This won't work:
      <sx:datetimepicker name="birthdate" label="My Label"/>

      and shows the error:

      Error reading included file template/~~~ajax/controlheader-core.ftl
      The problematic instruction:
      ----------
      ==> include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" [on line 23, column 1 in template/xhtml/controlheader.ftl]
       in include "/${parameters.templateDir}/xhtml/controlheader.ftl" [on line 24, column 9 in template/ajax/controlheader.ftl]
       in include "/${parameters.templateDir}/ajax/controlheader.ftl" [on line 23, column 1 in template/ajax/datetimepicker.ftl]
      ----------
      
      Java backtrace for programmers:
      ----------
      freemarker.template.TemplateException: Error reading included file template/~~~ajax/controlheader-core.ftl
      	at freemarker.core.Include.accept(Include.java:167)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.MixedContent.accept(MixedContent.java:92)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.Environment.include(Environment.java:1508)
      	at freemarker.core.Include.accept(Include.java:169)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.MixedContent.accept(MixedContent.java:92)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.Environment.include(Environment.java:1508)
      	at freemarker.core.Include.accept(Include.java:169)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.MixedContent.accept(MixedContent.java:92)
      	at freemarker.core.Environment.visit(Environment.java:221)
      	at freemarker.core.Environment.process(Environment.java:199)
      	at freemarker.template.Template.process(Template.java:259)
      	at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:158)
      	at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:593)
      	at org.apache.struts2.components.UIBean.end(UIBean.java:547)
      	at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
      	at org.apache.jsp._1.Person_jsp._jspx_meth_sx_005fdatetimepicker_005f0(Person_jsp.java:358)
      	at org.apache.jsp._1.Person_jsp._jspx_meth_s_005fform_005f0(Person_jsp.java:285)
      	at org.apache.jsp._1.Person_jsp._jspService(Person_jsp.java:144)
      	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
      	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
      	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
      	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
      	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
      	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
      	at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164)
      	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
      	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)
      	at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
      	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
      	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at org.apache.struts2.interceptor.CheckboxInterceptor.
      

        Activity

        Stephen Koo created issue -
        Lukasz Lenart made changes -
        Field Original Value New Value
        Description The first 2 works:
        <sx:datetimepicker/>
        <sx:datetimepicker name="birthdate"/>

        This won't work:
        <sx:datetimepicker name="birthdate" label="My Label"/>

        and shows the error:
        Error reading included file template/~~~ajax/controlheader-core.ftl
        The problematic instruction:
        ----------
        ==> include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" [on line 23, column 1 in template/xhtml/controlheader.ftl]
         in include "/${parameters.templateDir}/xhtml/controlheader.ftl" [on line 24, column 9 in template/ajax/controlheader.ftl]
         in include "/${parameters.templateDir}/ajax/controlheader.ftl" [on line 23, column 1 in template/ajax/datetimepicker.ftl]
        ----------

        Java backtrace for programmers:
        ----------
        freemarker.template.TemplateException: Error reading included file template/~~~ajax/controlheader-core.ftl
        at freemarker.core.Include.accept(Include.java:167)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.include(Environment.java:1508)
        at freemarker.core.Include.accept(Include.java:169)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.include(Environment.java:1508)
        at freemarker.core.Include.accept(Include.java:169)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.process(Environment.java:199)
        at freemarker.template.Template.process(Template.java:259)
        at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:158)
        at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:593)
        at org.apache.struts2.components.UIBean.end(UIBean.java:547)
        at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
        at org.apache.jsp._1.Person_jsp._jspx_meth_sx_005fdatetimepicker_005f0(Person_jsp.java:358)
        at org.apache.jsp._1.Person_jsp._jspx_meth_s_005fform_005f0(Person_jsp.java:285)
        at org.apache.jsp._1.Person_jsp._jspService(Person_jsp.java:144)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164)
        at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
        at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)
        at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.CheckboxInterceptor.

        The first 2 works:
        <sx:datetimepicker/>
        <sx:datetimepicker name="birthdate"/>

        This won't work:
        <sx:datetimepicker name="birthdate" label="My Label"/>

        and shows the error:

        {noformat}
        Error reading included file template/~~~ajax/controlheader-core.ftl
        The problematic instruction:
        ----------
        ==> include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" [on line 23, column 1 in template/xhtml/controlheader.ftl]
         in include "/${parameters.templateDir}/xhtml/controlheader.ftl" [on line 24, column 9 in template/ajax/controlheader.ftl]
         in include "/${parameters.templateDir}/ajax/controlheader.ftl" [on line 23, column 1 in template/ajax/datetimepicker.ftl]
        ----------

        Java backtrace for programmers:
        ----------
        freemarker.template.TemplateException: Error reading included file template/~~~ajax/controlheader-core.ftl
        at freemarker.core.Include.accept(Include.java:167)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.include(Environment.java:1508)
        at freemarker.core.Include.accept(Include.java:169)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.include(Environment.java:1508)
        at freemarker.core.Include.accept(Include.java:169)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:221)
        at freemarker.core.Environment.process(Environment.java:199)
        at freemarker.template.Template.process(Template.java:259)
        at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:158)
        at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:593)
        at org.apache.struts2.components.UIBean.end(UIBean.java:547)
        at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
        at org.apache.jsp._1.Person_jsp._jspx_meth_sx_005fdatetimepicker_005f0(Person_jsp.java:358)
        at org.apache.jsp._1.Person_jsp._jspx_meth_s_005fform_005f0(Person_jsp.java:285)
        at org.apache.jsp._1.Person_jsp._jspService(Person_jsp.java:144)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164)
        at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
        at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)
        at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.CheckboxInterceptor.
        {noformat}
        Lukasz Lenart made changes -
        Fix Version/s 2.3.17 [ 12324780 ]
        Bruce Phillips made changes -
        Assignee Bruce Phillips [ bphillips ]
        Hide
        Bruce Phillips added a comment -

        I confirmed the issue you reported does exist in Struts 2.3.16 and did not exist in Struts 2.3.15.3 (previous release).

        I'll research what changed to try to identify the cause.

        Thank you for reporting this issue.

        Show
        Bruce Phillips added a comment - I confirmed the issue you reported does exist in Struts 2.3.16 and did not exist in Struts 2.3.15.3 (previous release). I'll research what changed to try to identify the cause. Thank you for reporting this issue.
        Hide
        Bruce Phillips added a comment -

        Error reading included file template/~~~ajax/controlheader-core.ftl
        The problematic instruction:
        ----------
        ==> include "/$

        {parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" [on line 23, column 1 in template/xhtml/controlheader.ftl]
        in include "/${parameters.templateDir}

        /xhtml/controlheader.ftl" [on line 24, column 9 in template/ajax/controlheader.ftl]
        in include "/$

        {parameters.templateDir}/ajax/controlheader.ftl" [on line 23, column 1 in template/ajax/datetimepicker.ftl]

        Date time picker FTL includes controlheader.ftl

        If label attribute exists then conrolheader.ftl includes control header.ftl from the struts2-core controlheader.ftl

        The Struts2 core XHMTL controlheader.ftl has this line
        include "/${parameters.templateDir}

        /$

        {parameters.expandTheme}

        /controlheader-core.ftl" which is being interpreted as ajax/controlheader-core.ftl instead of XHMTL/controlheader-core.ftl.

        Since there is not an ajax/controlheader-core.ftl the rendering of the datetimepicker tag fails

        Show
        Bruce Phillips added a comment - Error reading included file template/~~~ajax/controlheader-core.ftl The problematic instruction: ---------- ==> include "/$ {parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" [on line 23, column 1 in template/xhtml/controlheader.ftl] in include "/${parameters.templateDir} /xhtml/controlheader.ftl" [on line 24, column 9 in template/ajax/controlheader.ftl] in include "/$ {parameters.templateDir}/ajax/controlheader.ftl" [on line 23, column 1 in template/ajax/datetimepicker.ftl] Date time picker FTL includes controlheader.ftl If label attribute exists then conrolheader.ftl includes control header.ftl from the struts2-core controlheader.ftl The Struts2 core XHMTL controlheader.ftl has this line include "/${parameters.templateDir} /$ {parameters.expandTheme} /controlheader-core.ftl" which is being interpreted as ajax/controlheader-core.ftl instead of XHMTL/controlheader-core.ftl. Since there is not an ajax/controlheader-core.ftl the rendering of the datetimepicker tag fails
        Hide
        Bruce Phillips added a comment - - edited

        In Struts 2.3.15.3 where the datetimepicker with label attribute renders correctly the xhtml/controlheader.ftl file has this include statement:

        include "/$

        {parameters.templateDir}/xhtml/controlheader-core.ftl

        compared to 2.3.16 where the include reads:

        include "/${parameters.templateDir}

        /$

        {parameters.expandTheme}

        /controlheader-core.ftl

        The 2.3.15.3 include statement correctly brings in the xhtml/controlheader-core.ftl file

        Show
        Bruce Phillips added a comment - - edited In Struts 2.3.15.3 where the datetimepicker with label attribute renders correctly the xhtml/controlheader.ftl file has this include statement: include "/$ {parameters.templateDir}/xhtml/controlheader-core.ftl compared to 2.3.16 where the include reads: include "/${parameters.templateDir} /$ {parameters.expandTheme} /controlheader-core.ftl The 2.3.15.3 include statement correctly brings in the xhtml/controlheader-core.ftl file
        Hide
        Bruce Phillips added a comment -

        The change to xhtml/controlheader.ftl was made as part of work on WW-4145 by Lukasz (see revision 1536435).

        Show
        Bruce Phillips added a comment - The change to xhtml/controlheader.ftl was made as part of work on WW-4145 by Lukasz (see revision 1536435).
        Hide
        Bruce Phillips added a comment -

        Example Maven application that demonstrates bug. Change struts version to 2.3.16 in pom.xml and bug will occur when edit.action is executed.

        Show
        Bruce Phillips added a comment - Example Maven application that demonstrates bug. Change struts version to 2.3.16 in pom.xml and bug will occur when edit.action is executed.
        Bruce Phillips made changes -
        Attachment Form_Tags_Struts2_Mvn.zip [ 12621009 ]
        Hide
        ASF subversion and git services added a comment -

        Commit 1554759 from Lukasz Lenart in branch 'struts2/trunk'
        [ https://svn.apache.org/r1554759 ]

        WW-4254 Adds missing parent theme definition

        Show
        ASF subversion and git services added a comment - Commit 1554759 from Lukasz Lenart in branch 'struts2/trunk' [ https://svn.apache.org/r1554759 ] WW-4254 Adds missing parent theme definition
        Hide
        Lukasz Lenart added a comment -

        Added missing parent theme definition to theme.properties

        Show
        Lukasz Lenart added a comment - Added missing parent theme definition to theme.properties
        Lukasz Lenart made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in Struts2-JDK6 #865 (See https://builds.apache.org/job/Struts2-JDK6/865/)
        WW-4254 Adds missing parent theme definition (lukaszlenart: rev 1554759)

        • /struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/theme.properties
        Show
        Hudson added a comment - SUCCESS: Integrated in Struts2-JDK6 #865 (See https://builds.apache.org/job/Struts2-JDK6/865/ ) WW-4254 Adds missing parent theme definition (lukaszlenart: rev 1554759) /struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/theme.properties
        Lukasz Lenart made changes -
        Fix Version/s 2.3.18 [ 12319176 ]
        Fix Version/s 2.3.17 [ 12324780 ]
        Lukasz Lenart made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        21d 22h 17m 1 Lukasz Lenart 02/Jan/14 07:36
        Resolved Resolved Closed Closed
        376d 4h 21m 1 Lukasz Lenart 13/Jan/15 11:58

          People

          • Assignee:
            Bruce Phillips
            Reporter:
            Stephen Koo
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development