Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Newline in <p:confirm message>

Is there a way to put a new line in the message of <p:confirm> component?

<p:confirm header="Confirmation"  
    message="Are you sure you want to continue? Bla bla bla" 
    icon="ui-icon-alert"  />

I would like to have "Bla bla bla" in a new line.

like image 282
qxlab Avatar asked Dec 04 '13 02:12

qxlab


4 Answers

Message is HTML part, so you need to add <br>. Either take message from bean (to prevent xml tag escaping) or use facet:

<p:confirmDialog header="Confirmation">
    <f:facet name="message">
        Are you sure you want to continue?<br/>Yes or no?
    </f:facet>
</p:confirmDialog>  
like image 56
Web Devie Avatar answered Oct 21 '22 13:10

Web Devie


At the time I asked this question there was no escape option in confirm component but it was implemented on PrimeFaces 6.2 after this feature request.

So now we can just do it this way:

<p:confirm header="Confirmation"  
    escape="false"
    message="Are you sure you want to continue? &lt;br/&gt; Bla bla bla" 
    icon="ui-icon-alert"  />

Alternatively, it's possible to use confirmDialog component as already suggested in other answers.

like image 23
qxlab Avatar answered Oct 21 '22 11:10

qxlab


There's no "escape" attribute in p:confirm, so you may try this. (Which is work when I tried it.)

Page:

<p:commandButton value="Show the Dialog" 
                 onclick="#{MyBean.setMsg('Are you sure you want to continue? &lt;br/&gt; Bla bla bla')}" 
                 oncomplete="conf.show()" update="confDlg">
</p:commandButton>
<p:confirmDialog id="confDlg" severity="alert" header="Confirmation" widgetVar="conf" global="true">   
    <f:facet name="message">
       <h:outputText value="#{MyBean.msg}" escape="false"/>
    </f:facet>
</p:confirmDialog> 

Backing Bean:(simply getter and setter)

   private String msg;

public void setMsg(String msg) {
    this.msg = msg;
}

public String getMsg() {       
    return msg;
}

In this way, you can also take advantage of global confirmDialog.

However, you may need to edit other commandButtons that show confirmDialog.

like image 2
nosnhoj Avatar answered Oct 21 '22 12:10

nosnhoj


very easy you can use facet

<p:confirmDialog widgetVar="cd" header="Confirm">
     <f:facet name="message">
        <h:outputText value="Are you sure?" />
        <br />
        <h:outputText value="After line break" />
     </f:facet>
    ...
 </p:confirmDialog>
like image 2
Bilal2005 Avatar answered Oct 21 '22 12:10

Bilal2005