Primefaces’s dialog ‘appendTo’ property, what it useful for?

From the PrimeFaces User Guide (currently p. 185):

Do not place dialog inside tables, containers likes divs with relative positioning or with nonvisible
overflow defined, in cases like these functionality might be broken. This is not a limitation
but a result of DOM model. For example dialog inside a layout unit, tabview, accordion are a
couple of examples. Same applies to confirmDialog as well.

You can overcome this by using appendTo="@(body)" and your dialog will be attached as a child of the <body> node.

One of the main dialog option is modal and you could quickly end up with your dialog behind the overlay if you are not using appendTo as shown below:

enter image description here

See also http://forum.primefaces.org/viewtopic.php?f=3&t=16504


Notes:

  • Before PrimeFaces 5.0, the attribute to set was appendToBody="true". This was changed for 5.0.
  • If your dialog contains some buttons don’t forget to surround them by <h:form> (see Proper Construct for Primefaces Dialog)

Leave a Comment