【问题标题】:PrimeFaces custom renderer not used on Ajax updatePrimeFaces 自定义渲染器未用于 Ajax 更新
【发布时间】:2015-11-10 10:13:20
【问题描述】:

我正在尝试编写一个 PrimeFaces 分页器以更符合 WCAG 规则。

最初的页面链接(1 2 3 4 5)不是链接,而是<span>带有普通页码。我用''包裹了那个数字,这样他们就可以集中注意力,标题解释了这个链接的用途。渲染器工作得很好,但是在使用它并更改页面(AJAX 请求)之后,页面链接会呈现旧样式。

为什么会这样,如何解决?

我的渲染给出:

<span class="ui-paginator-pages">
    <span class="ui-paginator-page ui-state-default ui-state-active ui-corner-all">
        <a class="ui-paginator-page ui-state-default ui-state-active ui-corner-all" tabindex="10000" title="Link to page nr: 1">1</a>
    </span>
    <span class="ui-paginator-page ui-state-default ui-corner-all">
        <a class="ui-paginator-page ui-state-default ui-corner-all" tabindex="10001" title="Link to page nr: 2">2</a>
    </span>
</span>

改变页面结果后是

<span class="ui-paginator-pages">
    <span class="ui-paginator-page ui-state-default ui-corner-all" tabindex="0">1</span>
    <span class="ui-paginator-page ui-state-default ui-corner-all ui-state-active" tabindex="0">2</span>
</span>

如您所见,更新后的结构就像在普通的 PrimeFaces 中一样。锚点消失,标签索引回到 0

【问题讨论】:

  • 您是否尝试将 PrimeFaces 更新到 5.3? Afaik,他们支持开箱即用。顺便说一句,总是提到版本信息!如果您只是发布输出,您如何期望任何人提供帮助?

标签: ajax primefaces custom-renderer


【解决方案1】:

这种奇怪行为的原因是在 AJAX 请求之后呈现页面是由 PrimeFaces 中定义的 JavaScript 代码完成的。这意味着在这种情况下覆盖默认渲染器必须同时在 Java 和 JavaScript 中完成。

【讨论】:

    猜你喜欢
    • 2015-03-29
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多