【问题标题】:Primefaces: ProgressBar doesn't render with mobile render kit [duplicate]Primefaces:ProgressBar 不使用移动渲染套件渲染 [重复]
【发布时间】:2014-11-28 13:54:18
【问题描述】:

当我尝试在启用了移动渲染工具包的站点中渲染 p:progressBar 时,组件没有渲染(不过我看到了我自己的组件 css 样式)。
我只是在浏览器的错误控制台中得到两个 404:

404 (Not Found) (undefined.css.xhtml, line 0) $HOSTADRESS$/javax.faces.resource/undefined/undefined.css.xhtml?ln=primefaces&v=5.1
404 (Not Found) (undefined.js.xhtml, line 0) $HOSTADRESS$/javax.faces.resource/undefined/undefined.js.xhtml?ln=primefaces&v=5.1

我确定这是一个错误,我会打开一个问题 (Issue 7717)。我只是想显示一个静态进度条,这个用例有简单的解决方法吗?顺便提一句。我正在使用 PrimeFaces 5.1

这是一个 SSCCE:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:p="http://primefaces.org/ui"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:pm="http://primefaces.org/mobile">
<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</h:head>
<f:view locale="de_DE" encoding="UTF-8" contentType="text/html" renderKitId="PRIMEFACES_MOBILE">
    <h:body>
        <p:commandButton value="Renders"/>
<!--doesn't render-->
        <p:progressBar value="#{70}" labelTemplate="#{70}"/>
    </h:body>
</f:view>
</html>

【问题讨论】:

  • 如果在疑似重复的 1.5 个月前被问到,这怎么可能是重复的?

标签: jsf primefaces http-status-code-404


【解决方案1】:

今天我再次解决了这个老问题,并在this answer找到了解决方法。
所以我加了

<h:outputScript target="body">
    var originalPrimeFacesCw = PrimeFaces.cw;
    PrimeFaces.cw = function(name, id, options, resource) {
        resource = resource || name.toLowerCase();
        originalPrimeFacesCw.apply(this, [name, id, options, resource]);
    };
</h:outputScript>

到我的移动模板并通过 css 设置进度条的背景颜色:

.ui-progressbar .ui-widget-header {
    background-color: SOMECOLOR; 
}

起初我使用&lt;o:onloadScript&gt; 来加载解决方法脚本,但是这个get 会在每个ajax 请求上得到,因此如果您在页面上执行其中一些操作,则会导致RangeError

我仍然希望官方修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多