【发布时间】: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 消息必须是这样的
嗨 欢迎
但我明白了
嗨<b>欢迎</b>
由于\n 不起作用,我尝试了<br/>。但是这些标签正在被打印出来。
然后我尝试了sb.append(String.format("<strong> %s <strong>")","Welcome");
但是<strong> 正在被打印出来。
然后用<font><font>
我尝试使用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 和 <br/> 和 StringBuilder。
我想知道 HTML 标签或换行符是否不适用于<p:confirmDialog>。
还有,有没有办法使用带有<p:confirDialog>的html标签?
我使用 primefaces 4 和 jsf 2.2。
提前致谢。
【问题讨论】:
-
看看这个:stackoverflow.com/questions/19883132/…也许这对你有帮助。
-
我已经尝试过该解决方案,但标签仍然被打印出来。
-
html 中的换行符是
标签: html jsf-2 primefaces