Jay Sartoris created MYFACES-4163:
-------------------------------------

             Summary: h:commandScript execute attribute does not have a default 
value
                 Key: MYFACES-4163
                 URL: https://issues.apache.org/jira/browse/MYFACES-4163
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 2.3.0-beta
            Reporter: Jay Sartoris
            Priority: Minor
         Attachments: CommandScript.war

The vdldoc for the h:commandScript component state that "@this" should be the 
default value for the "execute" attribute. 
The excerpt from the execute attribute description in 
vdldocs/facelets/h/commandScript.html is:
-------
This is a space separated list of client identifiers of components that will 
participate in the "execute" portion of the Request Processing Lifecycle. If a 
literal is specified the identifiers must be space delimited. Any of the 
keywords "@this", "@form", "@all", "@none" may be specified in the identifier 
list. *If not specified, the default value of "@this" is assumed.* For example, 
@this clientIdOne clientIdTwo.
-------

When I specify the component like this (without an execute attribute):

{code:java}
<h:form id="form1">
    <h:commandScript name="commandScript1" 
action="#{commandScriptBean.testCommandScript('success')}" render=":output1" 
autorun="true"/>
</h:form>
<h:outputText id="output1" value="MyFaces test output: 
#{commandScriptBean.output}" />
{code}

I receive the following exception:

{noformat}
 java.lang.NullPointerException
        at 
org.apache.myfaces.renderkit.html.HtmlCommandScriptRenderer.getCollectionFromSpaceSplitString(HtmlCommandScriptRenderer.java:690)
        at 
org.apache.myfaces.renderkit.html.HtmlCommandScriptRenderer.encodeBegin(HtmlCommandScriptRenderer.java:144)
        at 
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:597)
        at 
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:527)
        at 
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:551)
        at 
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:551)
        at 
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:551)
        at 
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1898)
        at 
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:315)
        at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:73)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:117)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:267)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:206)

{noformat}

When I try the same example using the Mojarra RI, it works as expected.  

I tried this with the MyFaces 2.3.0-beta and also several snapshots however, 
the issue still occurs.  The latest snapshot I tried was the 
20171010.124738-264 version of the impl.  

I will upload a sample application to help reproduce the issue.  




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to