--Environment - CentOS Linux release 7.8.2003 (Core) - Eclipse IDE for Enterprise Java Developers.Version: 2020-03 (4.15.0) - openjdk version "11.0.7" 2020-04-14 LTS - JSF 2.3.9
When I thought something didn't work, there was an error in the Chrome development tool Console.
Error in Console of Chrome development tool
jsf.js.jsf?ln=javax.faces:1 Uncaught Error: jsf.ajax.request: Method must be called within a form
at Object.request (jsf.js.jsf?ln=javax.faces:1)
at Object.ab (jsf.js.jsf?ln=javax.faces:1)
at HTMLInputElement.onclick (upload.jsf:12)
I inadvertently forgot the form tag.
xhtml
<body>
<!--abridgement-->
<h:commandButton value="close" action="#{uploadBean.close}">
<f:ajax onevent="windowClose" />
</h:commandButton>
</div>
</body>
Output html
<input id="j_idt11:j_idt14" type="submit" name="j_idt11:j_idt14" value="close" onclick="mojarra.ab(this,event,'action',0,0,{'onevent':windowClose});return false">
xhtml
<body>
<h:form>
<!--abridgement-->
<h:commandButton value="close" action="#{uploadBean.close}">
<f:ajax onevent="windowClose" />
</h:commandButton>
</div>
</h:form>
</body>