使用HTML内容填充全局工具提示

时间:2016-08-11 07:27:57

标签: html jsf primefaces

在我的JSF页面中,我在行列上使用带有工具提示的数据表,如下所示:

<p:dataTable var="item" ...>
  <p:column headerText="#{bundle['item.name']}">
    <!--
    <h:outputText value="#{item.name}" title="#{simpleTooltipGenerator.generate(item)}"/>
    -->
    <h:outputText id="name" value="#{item.name}"/>
    <p:tooltip for="name" escape="false" value="#{simpleTooltipGenerator.generate(item)}"/>
  </p:column>
</p:dataTable>

simpleTooltipGenerator.generate()是一种生成以下HTML工具提示的方法:

<div class="ui-tooltip-text ui-shadow ui-corner-all">
  <table>
    <tbody>
      <tr><td class="key">Lastname</td><td class="value">Doe</td></tr>
    <tr><td class="key">Firstname</td><td class="value">John</td></tr>
    </tbody>
  </table>
  <div class="adresse spacer"></div>
  <div class="adresse title">Address</div>
  <table>
    <tbody>
      <tr><td class="key">OFFICE</td><td class="value">...</td></tr>
      <tr><td class="key">HOME</td><td class="value">...</td></tr>
    </tbody>
  </table>
</div>

这可以按预期工作,但当我使用全局工具提示<p:tooltip escape="false"/><h:outputText value="#{item.name}" title="#{simpleTooltipGenerator.generate(item)}"/>时,只有生成的HTML代码会显示在工具提示中!使用固定文本进行全局工具提示有效吗?​​!

这是一个错误吗,全局工具提示不支持HTML内容,即使设置为escape="false",还是不支持?!

我的环境是WildFly 10.0.0-Final上的Primefaces 6.0

1 个答案:

答案 0 :(得分:1)

来自PrimeFaces Documentation

  

全球工具提示

     

...   因为全局工具提示更有效率   由于在所有工具提示目标中仅使用了一个工具提示实例,因此建议使用它   明确的工具提示,除非您有自定义案例,例如不同的选项,自定义内容

首先我要说这不受支持。正如我尝试的那样,它仍然有用。所以你的问题似乎缺少 globalSelector 属性,默认为var Stripe = require('stripe'); Stripe.initialize('sk_test_xxxxxxx');

如果您想支持a,:input,:button(呈现为<h:outputText />)绑定,只需添加一个propper选择器,如:

<span />