gpt4 book ai didi

jsf - 在 p :confirmDialog 上显示格式化的文本/消息

转载 作者:行者123 更新时间:2023-12-03 18:33:38 24 4
gpt4 key购买 nike

<p:dataTable> 中的一行被右键单击, <p:contextMenu> 出现一个删除选项。单击此选项时, <p:confirmDialog> 出现两个按钮 YesNo - 关于删除当前行的构象警告如下。

<p:contextMenu for="dataTable">
<p:menuitem oncomplete="confirmDelete.show()"
value="Delete"
update="confirmDialog"
process="@this dataTable"
actionListener="#{testManagedBean.deleteActionListener}"
icon="ui-icon-close" ajax="true"/>
</p:contextMenu>

<p:confirmDialog id="confirmDialog"
widgetVar="confirmDelete"

message="#{testManagedBean.message}"

header="Message"
severity="alert"
closeOnEscape="true"
showEffect="slide"
hideEffect="fold"
appendTo="@(body)"
closable="true">

<p:commandButton id="btnYes"
value="Yes"
process="@this"
oncomplete="confirmDelete.hide()"
actionListener="#{testManagedBean.deleteActionListener}"
update="dataTable"/>

<p:commandButton id="btnNo"
value="No"
onclick="confirmDelete.hide()"
type="button" />
</p:confirmDialog>

有没有办法设置 message此对话框上带有格式化消息的属性。

例如,属性 testManagedBean.message在其托管 bean 中设置为一个字符串,如
You are about to delete <font color='#ff0000'>2</font> rows. <br/>This action will never be undone. <br/>Are you sure?
确认对话框将这个字符串显示为一个整体。此字符串中的 HTML 应被解释为 HTML。我没有看到像 escape 这样的属性在 <p:confirmDialog> .

有没有办法将此字符串显示为格式化消息。

最佳答案

我发现了一个丑陋的解决方案嵌套 <f:facet name="message"><p:confirmDialog> 内.

<p:confirmDialog id="confirmDialog"
widgetVar="confirmDelete"

header="Message"
severity="alert"
closeOnEscape="true"
showEffect="slide"
hideEffect="fold"
appendTo="@(body)"
closable="true">

<p:commandButton id="btnYes"
value="Yes"
process="@this"
oncomplete="confirmDelete.hide()"
actionListener="#{testManagedBean.deleteActionListener}"
update="dataTable"/>

<p:commandButton id="btnNo"
value="No"
onclick="confirmDelete.hide()"
type="button" />

<f:facet name="message">
<h:outputFormat value="#{testManagedBean.message}" escape="false"/>
</f:facet>
</p:confirmDialog>

删除 message来自 <p:comfirmDialog> 的属性和嵌套 <f:facet name="message">在里面。

注: <h:outputFormat>仅当需要通过嵌套 <f:param> 传递一个或多个参数时才需要替换为消息文本中的相应占位符 ( {0})。继续使用 <h:outputText escape="false"> ,如果不需要传递这样的参数。

关于jsf - 在 p :confirmDialog 上显示格式化的文本/消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19883132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com