PrimeFaces Charts nicht sichtbar, wenn sie von anderen Seiten eingebunden sind

stimmen
0

Ganz neu auf JSF, aber ich verstehe den Lebenszyklus. Ich bin mit JSF 2.2, Primefaces 6.1. Ich habe ein Layout separtely in einer XHTML - Seite namens bDashboard.xhtml. Funktioniert gut , wenn direkt aufgerufen. Aber wenn ich es in einer anderen Seite sind über <ui:include src=/bDashboard.xhtml />die Diagramme werden nicht gerendert. Hier ist die Armaturenbrett - Datei:

<ui:composition  
xmlns=http://www.w3.org/1999/xhtml
xmlns:h=http://java.sun.com/jsf/html
xmlns:f=http://java.sun.com/jsf/core
xmlns:a=http://xmlns.jcp.org/jsf 
xmlns:p=http://primefaces.org/ui
xmlns:pt=http://xmlns.jcp.org/jsf/passthrough
xmlns:c=http://xmlns.jcp.org/jsp/jstl/core
xmlns:ct=http://www.chartistjsf.org/charts
xmlns:ui=http://java.sun.com/jsf/facelets>


<h3>My Dashboard</h3>
<p:panelGrid columns=2 layout=grid>
    <p:panel>
        <p:chart type=pie model=#{pieChartBean.pieModel1}
            style=display:block;margin-right:auto;margin-left:auto; />
    </p:panel>
    <p:panel>
        <p:chart type=pie model=#{pieChartBean.pieModel2} visible=true
            style=display:block;margin-right:auto;margin-left:auto; />
    </p:panel>
  </p:panelGrid>
</ui:composition>

Diese obige Datei wird somit enthalten:

<h:form id=buyerDashForm>
            <ui:include src=/bDashboard.xhtml />
</h:form>

Piechart Managed Bean:

@ManagedBean
@SessionScoped
public class PieChartBean {
    private PieChartModel pieModel1;
    private PieChartModel pieModel2;

@PostConstruct
public void init() {
    createPieModels();
}

public PieChartModel getPieModel1() {
    return pieModel1;
}

public PieChartModel getPieModel2() {
    return pieModel2;
}

private void createPieModels() {
    createPieModel1();
    createPieModel2();
}

private void createPieModel1() {
    pieModel1 = new PieChartModel();

    pieModel1.set(Kajaria Builders, 540);
    pieModel1.set(Bajaj Constructions, 325);
    pieModel1.set(Sentinel Builders, 702);
    pieModel1.set(Regency Towers, 421);

    pieModel1.setTitle(Savings By Project);
    pieModel1.setLegendPosition(w);
    pieModel1.setShadow(false);
}

private void createPieModel2() {
    pieModel2 = new PieChartModel();

    pieModel2.set(Kajaria Builders, 50);
    pieModel2.set(Bajaj Constructions, 35);
    pieModel2.set(Sentinel Builders, 72);
    pieModel2.set(Regency Towers, 41);


    pieModel2.setTitle(Savings By Spend Category);
    pieModel2.setLegendPosition(e);
    pieModel2.setShowDataLabels(true);
    pieModel2.setShadow(false);
}

Ich erhalte keine Fehler, wenn die Seite gerendert wird.

Veröffentlicht am 20/10/2018 um 12:28
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Ich glaube, Diagrammkomponente in primeface 6.1 als gut funktioniert. Ich lief den obigen Code-Schnipsel, die Sie haben, einschließlich .xhtml Vorlage geschrieben, es gut hier gearbeitet.

-> Ich entfernte sichtbar = true aus .xhtml Datei.
-> Sie auch sicher , Lage der Vorlagendatei in ui angegeben: include

Meine pom.xml sieht wie folgt aus

    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>6.1</version>
    </dependency>

    <!-- JSF -->
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.6</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.6</version>
    </dependency>

Unten ist der Ausgang Geben Sie hier image description

Beantwortet am 22/10/2018 um 09:52
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more