1

我在我的项目中使用 primefaces 3.0,我已经在 testing1.xhtml 中实现了图表,但是该页面内容需要显示在 main.xhtml 上,但图表不是第一次呈现。仅提供刷新后的图表渲染,但它不应该是这样的..我附上了模型片段供您参考..请帮我解决这个问题..

testing1.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich"
       xmlns:portlet="http://java.sun.com/portlet"
      xmlns:c="http://java.sun.com/jstl/core">

      <h:form id="testForm">

      <p:lineChart id="testChart"  value="#{testBean.chart}"
      style="float:left; margin-top:150px; border:0px; margin-left:0px; padding:0px; height:140px; width:230px; "/> 
    <h:form>

</ui:composition>

我从 main.xhtml 调用这个页面

main.xhtml

    <body onLoad="loadData();" >

        <h:panelGrid style="height:33px;"/>
        <h:form style="margin:0px; padding:0px;">
    <p:remoteCommand name="loadData" action="#{testBean.chartLoad}"  update="testChart" />

 <p:panel  style="height:auto; width:238px;" id="testPanel" header="Testing" closable="false" toggleable="true">
              <ui:include src="testing1.xhtml"/>
            </p:panel> 

提前致谢..

4

4 回答 4

2

看起来是一个嵌套的form问题......

尝试<h:form id="testForm">从您的内页中删除,因为它已经被form外页的标签包围...

于 2012-05-11T08:27:23.313 回答
1

只需在页面中添加这些行。加载 js/css 时出现错误

<h:outputScript name="charts/charts.js" library="primefaces" />

<h:outputStylesheet name="charts/charts.css" library="primefaces" />
于 2015-12-08T18:01:24.483 回答
0

删除 testing1.xhtml 中的表单标签

在 testing1.xhtml 页面的 head 部分添加以下内容:

<h:head>
    <link rel="stylesheet" href="/javax.faces.resource/charts/charts.css.jsf?ln=primefaces"/>
    ......
</h:head>
于 2017-09-26T10:43:41.130 回答
0

从 testing1.xhtml 中删除标签。由于您的主页有 ah:form 标签,因此您不必在 ui:include 中添加另一个标签。

即使它不起作用,也可以在 p:lineChart 中添加一个 ID 并添加 update=":< yourGivenFormID >"

于 2016-02-16T10:32:19.563 回答