jsf 2 - How to find in java that a jsf component has been removed using jquery? -
jsf 2 - How to find in java that a jsf component has been removed using jquery? -
i bound remove primefaces component client side. using jquery remove()
that.
as can not set rendered=false
client side, trying count or find in backend controller removed component absent. after removing, inspected page html , component no more in dom. before , after removing component, same value of kid count (non zero) fetched through facescontext
:
facescontext.getcurrentinstance().getviewroot().findcomponent("htmlgeneratedcomponentid").getchildcount();
i know facescontext
won't know element has been removed client side script. jsf wouldn't know no communication has been made jsf , rendered
attribute remain true checked by:
facescontext.getcurrentinstance().getviewroot().findcomponent("htmlgeneratedcomponentid").isrendered();
right now, requirement after removing component using client side script need find in java controller, way know component has been removed if rendered
attribute still true.
pass info via additional request parameter check in rendered
attribute of component in question.
e.g.
<h:form> <input type="hidden" id="fooremovedbyclient" name="fooremovedbyclient" /> ... <x:somecomponent id="foo" rendered="#{not param.fooremovedbyclient}" /> </h:form>
and allow jquery set accordingly on remove:
$foo.remove(); $("#fooremovedbyclient").val("true");
needless hacky. you'd improve allow jquery toggle rendered
attribute via jsf/primefaces ajax call. <p:remotecommand>
useful in this.
jsf-2 primefaces
Comments
Post a Comment