我跟着meterGaugeChart example,它没有在JSP中显示。
当我在浏览器中查看源代码时,我找到了
<p:meterGaugeChart value="org.primefaces.model.chart.MeterGaugeChartModel@1818f80"></p:meterGaugeChart>
我正在使用primefaces-3.0.jar
,jsf-api-2.0.3.jar
,jsf-impl-2.0.3.jar
,jstl-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>
答案 0 :(得分:0)
首先,PrimeFaces 2.x / 3.x不支持JSP。它仅适用于Facelets。但是,由于您在代码示例中使用了Facelets标记,并且您似乎没有抱怨Facelets标记在HTML源代码中也可见,我假设您只是将JSP与Facelets混淆。 Facelets是基于XHTML的,是旧的和不推荐使用的JSP的后继者。如果您的文件扩展名为.xhtml
,那么您已全部设置完毕。但如果真的 .jsp
,则需要将其重命名为.xhtml
。
其次,你在那里使用了一个完全过时的JSTL版本。您需要JSTL 1.2,download为jstl-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" />