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

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -