meterGaugeChart没有显示

时间:2012-01-10 08:08:05

标签: jsp jsf jsf-2 primefaces

我跟着meterGaugeChart example,它没有在JSP中显示。

当我在浏览器中查看源代码时,我找到了

<p:meterGaugeChart value="org.primefaces.model.chart.MeterGaugeChartModel@1818f80"></p:meterGaugeChart>

我正在使用primefaces-3.0.jarjsf-api-2.0.3.jarjsf-impl-2.0.3.jarjstl-1.0.2.jar

<h:body>
    <ui:composition template="template/commonLayout.xhtml">
        <ui:define name="content">
            <h:form>
                <p:meterGaugeChart value="#{welcome.meterGaugeModel}" /> 
            </h:form>
        </ui:define>
    </ui:composition>
</h:body>

2 个答案:

答案 0 :(得分:0)

首先,PrimeFaces 2.x / 3.x不支持JSP。它仅适用于Facelets。但是,由于您在代码示例中使用了Facelets标记,并且您似乎没有抱怨Facelets标记在HTML源代码中也可见,我假设您只是将JSP与Facelets混淆。 Facelets是基于XHTML的,是旧的和不推荐使用的JSP的后继者。如果您的文件扩展名为.xhtml,那么您已全部设置完毕。但如果真的 .jsp,则需要将其重命名为.xhtml

其次,你在那里使用了一个完全过时的JSTL版本。您需要JSTL 1.2,downloadjstl-1.2.jar。完全替换jstl-1.0.3.jar(并确保您没有standard.jar文件。)

最后,您需要确保已在Facelet XHTML文件的根标记中声明了正确的PrimeFaces 3.0命名空间。它应该指向http://primefaces.org/ui

<html xmlns:p="http://primefaces.org/ui">

答案 1 :(得分:-1)

首先,我将测试所有包含以下内容的实现-您正在使用的正文和表单。清楚地了解构图,以更好地理解问题。

PrimeFaces <3

尝试将其用作:

 <p:chart rendered="true" type="metergauge"
       style="width:50% !important; height:20% !important;"
       model="#{controller.chartView.meterGaugeModel}" />

Primefaces = 3

<p:meterGaugeChart id="simple" value="#{meterGaugeController.model}" style="height:250px" />

请参阅: https://subscription.packtpub.com/book/web_development/9781849519281/9/ch09lvl1sec93/creating-a-meter-gauge-chart