【问题标题】:HTML tags and newline do not work with p:confirmDialogHTML 标记和换行符不适用于 p:confirmDialog
【发布时间】:2014-09-14 21:27:06
【问题描述】:

我想在<p:confirmDialog>消息中使用html标签或换行。

Xhtml

<h:form>
  <p:commandButton value="Open Confirm Dialog" actionListener="#{bean.getConfirmDlgMsg}" update="confirmDlgId" oncomplete="confrimDlg.show();"/>
</h:form>

<p:confirmDialog id="confirmDlgId" widgetVar="confrimDlg" header="Test Header"
message="#{bean.msg}">
   <p:commandButton value="Yes"/>
   <p:commandButton value="No"/>
</p:confirmDialog>

private String msg;
//getter and setter for msg
public void getConfirmDlgMsg()
{
  StringBuilder sb=new StringBuilder();
  sb.append("Hi");
  sb.append("\n");
  sb.append("<b>Welcome</b>");
  setMsg(sb.toString());
}

confirmDialog 消息必须是这样的

欢迎

但我明白了 嗨&lt;b&gt;欢迎&lt;/b&gt;

由于\n 不起作用,我尝试了&lt;br/&gt;。但是这些标签正在被打印出来。

然后我尝试了sb.append(String.format("&lt;strong&gt; %s &lt;strong&gt;")","Welcome"); 但是&lt;strong&gt; 正在被打印出来。

然后用&lt;font&gt;&lt;font&gt;

我尝试使用StringBuffer 而不是StringBuilder。但是没有任何变化。

然后我把confirmDialog改成

<p:confirmDialog id="confirmDlgId" widgetVar="confrimDlg" header="Test Header">
   <f:facet name="message">
     <h:outputFormat value="#{bean.msg}" escape="false"/>
   </f:facet>
   <p:commandButton value="Yes"/>
   <p:commandButton value="No"/>
</p:confirmDialog>

这里的标签没有被打印出来,但是消息的必需部分没有加粗。

我之前已经成功地使用了 /n 和 &lt;br/&gt;StringBuilder

我想知道 HTML 标签或换行符是否不适用于&lt;p:confirmDialog&gt;。 还有,有没有办法使用带有&lt;p:confirDialog&gt;的html标签?

我使用 primefaces 4 和 jsf 2.2。

提前致谢。

【问题讨论】:

标签: html jsf-2 primefaces


【解决方案1】:

通过使用 css 得到了解决方案

Xhtml

#confirmDlgId span.makeBold
{
    font-weight:bold;
}

<p:confirmDialog id="confirmDlgId" widgetVar="confrimDlg" header="Test Header">
   <f:facet name="message">
     <h:outputFormat value="#{bean.msg}" escape="false"/>
   </f:facet>
   <p:commandButton value="Yes"/>
   <p:commandButton value="No"/>
</p:confirmDialog>

豆是

private String msg;
//getter and setter for msg
public void getConfirmDlgMsg()
{
  StringBuilder sb=new StringBuilder();
  sb.append("Hi");
  sb.append("\n");
  sb.append("<span class="makeBold">Welcome</span>");
  setMsg(sb.toString());
}

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2017-03-18
    • 2017-12-30
    相关资源
    最近更新 更多