Графиките на PrimeFaces не се виждат, когато са включени от друга страница

Чисто нов за JSF, но разбирам жизнения цикъл. Използвам JSF 2.2, Primefaces 6.1. Създадох оформление отделно в xhtml страница, наречена bDashboard.xhtml. Работи добре при директно извикване. Но когато го включа в друга страница чрез <ui:include src="/bDashboard.xhtml" />, диаграмите не се изобразяват. Ето файла на таблото:

<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>

Този файл по-горе е включен по следния начин:

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

Piechart управляван 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);
}

Не получавам грешки, когато страницата се визуализира.


person Mallik Kumar    schedule 20.10.2018    source източник
comment
Здравейте, няколко неща, първо винаги се опитвайте да създадете минимално възпроизводим пример, за да стесните проблема си и да го направите по-лесно за четене за нас. Второ, не добавяйте <h:body> във включените файлове и 3-то имате вложени форми. Второто може да е свързано с вашия проблем   -  person Kukeltje    schedule 20.10.2018
comment
Здравей @Kukeltje, премахнах всички странични тагове и преместих панелните мрежи в ‹ui:composition›, но проблемът продължава. Редактирах кода си по-горе. Премахнаха и всички формуляри.   -  person Mallik Kumar    schedule 20.10.2018
comment
Моля, все още има твърде много код. Или наистина работи, ако премахнете някой от останалите тагове? Моля, научете за минимално възпроизводим пример   -  person Kukeltje    schedule 20.10.2018
comment
Премахнах всички гафове... но изглежда има проблем.   -  person Mallik Kumar    schedule 20.10.2018
comment
Няма и грешки от страна на клиента (javascript)? И премахването на панелната мрежа го кара да работи? А какво да кажем за стила на класациите? Могат ли да бъдат премахнати?   -  person Kukeltje    schedule 20.10.2018
comment
Опитах всичко...просто не изобразява @Kukeltje.   -  person Mallik Kumar    schedule 20.10.2018
comment
Опитах нещо подобно (подобно, най-вероятно не идентично, тъй като все още не сте публикували минимално възпроизводим пример и опитах с 6.2 и 6.3-SNAPSHOT) и при мен работи. Моля, направете го ИСТИНСКИ минимално възпроизводим пример и опитайте 6.2code? Моля, dp   -  person Kukeltje    schedule 21.10.2018
comment
Здравей @Kukeltje, за съжаление проектът е в кутия в Primefaces 6.1   -  person Mallik Kumar    schedule 22.10.2018
comment
Както и да е, преминах към ChartistJSF... който изглежда работи добре. Благодаря за търпението.   -  person Mallik Kumar    schedule 22.10.2018
comment
В кутия в PF 6.1, но е разрешена нова библиотека? Хмм странно. И PF 6.3 също ще получи нови класации. Но вашият проблем може да е по-общ. Следващият път, моля, моля, създайте минимално възпроизводим пример.   -  person Kukeltje    schedule 22.10.2018
comment
@Kukeltje Работя само върху модул от проекта. Те имат както Primefaces 6.1, така и ChartistJSF 3 като зависимости. Исках всички класации от Primefaces. Когато се опитах да използвам 6.2, програмата се държеше лошо. Така че трябваше да премина към ChartistJSF. Благодаря отново за търпението. Ще направя по-добър MCVE следващия път.   -  person Mallik Kumar    schedule 22.10.2018


Отговори (1)


Вярвам, че компонентът на диаграмата работи и в primeface 6.1. Изпълних горния кодов фрагмент, който сте публикували, включително .xhtml шаблон, той работи добре тук.

-› Премахнах visible=true от .xhtml файл.
-›Също така осигурете местоположението на шаблонния файл, посочен в ui:include

Моят pom.xml изглежда така

    <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>

По-долу е изходът въведете описание на изображението тук

person akhil Rao    schedule 22.10.2018
comment
Всъщност той работи добре като отделен файл, просто не изглежда да се показва, когато е включен в друг файл. - person Mallik Kumar; 22.10.2018
comment
@mallikkumar: всичко това показва, че имате неща, които не се виждат във вашия Q, които играят роля в проблема ви! - person Kukeltje; 22.10.2018