java - JSF 2.0 中不显示 PrimeFaces 饼图

标签 java jsf-2 primefaces

<分区>

我想在我的 JSF 应用程序中显示 primefaces 饼图。

这是我的 xhtml 页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.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:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

<f:view contentType="text/html">
    <ui:include src="blocks/head.xhtml"/>

    <body>
    <ui:include src="blocks/header.xhtml"/>

        <p:pieChart id="sample"
                    value="#{pieChartBean.pieModel}"
                    legendPosition="w"
                    title="Sample Pie Chart"
                    style="width:400px;height:300px"/>

    <ui:include src="blocks/footer.xhtml"/>
    </body>
</f:view>
</HTML>

这是我的 bean :

@ManagedBean(name = "pieChartBean")
@ViewScoped
public class PieChartBean implements Serializable {

   private PieChartModel pieModel;

    public PieChartBean() {
        createPieModel();
    }

    public PieChartModel getPieModel() {
        return pieModel;
    }

    private void createPieModel() {
        pieModel = new PieChartModel();

        pieModel.set("Brand 1", 540);
        pieModel.set("Brand 2", 325);
        pieModel.set("Brand 3", 702);
        pieModel.set("Brand 4", 421);
    }

}

我将 bean 放在 ViewScope 中,我还尝试了 Session 和 Request 范围。问题是图表未显示在页面中。知道问题出在哪里吗?

编辑: 奇怪的是,我试图在同一个 xhmtl 页面中添加一些其他组件,我添加了 <p:spinner/>它有效。它显示在我的 JSF 页面中,但图表没有显示。

编辑 2:

Firebug :

<div id="sample" style="width:400px;height:300px"></div>
<script id="sample_s" type="text/javascript">
$(function(){PrimeFaces.cw('PieChart','widget_sample',{id:'sample',data:[[["Brand 1",540],["Brand 2",325],["Brand 3",702],["Brand 4",421]]],title:'Sample Pie Chart',legend:{show:true,renderer: $.jqplot.EnhancedLegendRenderer,location:'w'},axes:{xaxis:{},yaxis:{}}},'charts');});
</script>

如果我使用 firebug 查看生成的 HTML 源代码,则会生成上面显示的代码,但在浏览器中没有显示任何内容。

最佳答案

你已经在评论中告诉你你已经解决了这个问题,只是在答案中总结一下这样就可以关闭:

问题是您导入了外部 jQuery.js 文件。

  • 不要导入您自己的 jQuery 库,它会与 primefaces 捆绑的库发生冲突。然后使用 jQuery 而不是 $
  • 如果您使用的是旧版本的 primefaces(如 2.2.1),请查看此答案:jQuery conflict with primefaces

关于java - JSF 2.0 中不显示 PrimeFaces 饼图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460410/

相关文章:

数字代码的Java符号

jsf - c :set gets called multiple times instead of its return value being used 中的 EL 表达式

javascript - 打印数据表 - 新页面

jsf - 如何将参数传递给 Primefaces LazyDataModel 加载函数

jsf - 素面 p :dialog keeps reopening

java - 重新打开 Android 应用程序时 SQLite 表为空

java - 我的 Java swing 按钮不起作用

java - 这是生成新线程并终止它们的安全方法吗?

jsf-2 - 在 jsf-impl.jar 中发现了 JSF2 : How are the *. taglib.xml 文件?

JSF 支持组件 - 复合组件 - Stackoverflow 异常