不工作barChart Primefaces

时间:2013-11-04 03:29:06

标签: jsf jsf-2 primefaces

我正在尝试使用Primefaces实现条形图(在Pom.xml中我有Primefaces 4.0的依赖关系),但是当运行应用程序时,屏幕上没有显示任何内容,但是选择了inspect元素{{1和脚本,但仅此而已。

<div id="stacked">

调用的bean如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ES"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui" lang="es">
<f:view contentType="text/html">
    <h:head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta HTTP-EQUIV="refresh" content="1803"/>
        <title>Sistema de Seguimientos de Ciclos de Calidad</title>
        <meta name="description" content=""/>
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
        <link href="/sistema.ciclos.calidad/resources/css/estilo.css" media="screen" rel="stylesheet" type="text/css" />

    </h:head>
    <h:body link="#000033">
            <div id="frame" >
                 <h:form>
                    <p:barChart id="stacked" value="#{grafico.categoryModel}" legendPosition="ne" style="height:300px"
                                title="Stacked Bar Chart" stacked="true" barMargin="50" min="0" max="300"/>
                 </h:form>
            </div>

    </h:body>
</f:view>
</html>

2 个答案:

答案 0 :(得分:2)

我刚遇到同样的问题。

我发现的是,jquery的版本不一定是问题的根源。似乎<p:barChart>本身不包含所需的jquery脚本。

在我向页面添加<p:dataTable>后,即使没有呈现(<p:dataTable rendered="false" />),图表也会再次显示。

分别使用和不使用虚拟<p:dataTable>比较渲染结果时,我注意到<p:dataTable>强制将以下内容包含在<head>中:

<link type="text/css" rel="stylesheet" href="/banking/faces/javax.faces.resource/primefaces.css?ln=primefaces&amp;v=4.0" />
<script type="text/javascript" src="/banking/faces/javax.faces.resource/jquery/jquery-plugins.js?ln=primefaces&amp;v=4.0"></script>

因此我认为这是<p:barChart>中的一个错误,它只是错过了包含。

答案 1 :(得分:0)

从3.5切换到4后,我遇到了同样的问题

我记得,问题是与primefaces 4中使用的jquery版本相关的javascript错误 我已将primefaces 4 jar中的jquery.js文件替换为primefaces 3.5 jar中的jquery.js文件 &安培;已经解决了这个问题

在primefaces jar中jquery.js文件的位置是

META-INF \资源\ primefaces \ jquery的