Cześć, czy ktoś na forum orientuje się może czy w JSF można bezpośrednio w kodzie Javowym dodawać jakiś własny komponent z xhtml? Jeżeli tak to jak dokładnie można tego użyć? Dokładnie chodzi mi o to, że mam swój szablon jakiegoś wykresy i chciałbym go umieszczać na czymś w rodzaju tablicy i teraz pytanie czy można to robić dynamicznie bez uprzedniego deklarowania tego wykresu w kodzie xhtml.
W jednym z projektów mam kod JFreeChart, który tworzy wykres w języku Java po stronie sewera, a następnie wyrzuca go do byte array. Po stronie aplikacji webowej JSF konsumuje byte array i drukuje wygenerowany obrazek. Wiadomo, wykresy typu HighCharts są fajniejsze i mają większe możliwości, ale na moje potrzeby to starczyło.
Jak tworzysz własne wykresy facelets zapenia wygodny sposób tworzenia komponentów w JSF. Widziałem jak ktoś integrował HighCharts z JSF. Poza tym PrimeFaces ma proste wykresy w biliotece standardowej (frontendowe).
Właśnie chciałbym wykorzystać primefaces, chodzi o to, że mam coś w rodzaju "tablicy korkowej" na którą wrzucam wykresy jako obiekty i pytanie, jeżeli chciałbym sobie zdefiniować taki wykres z jakimiś elementami primeface'a np suwaki jako własny komponent jak to dynamicznie dodawać?
Każdy UIComponent w JSF ma metodę getChildren, i za jej pomocą możesz dodawać nowe komponenty bez deklarowania w szablonie html.
Wyglądałoby to jakoś tak:
<p:outputPanel id="tablica" binding=#{kontroler.outputPanelComponent}> </p:outputPanel>
<p:commandButton value="Dodaj" actionListener=#{kontroler.onButtonClick} update=":tablica" />
@Named
@ViewScoped
class Kontroler{
OutputPanel outputPanelComponent; // dodać getter
void onButtonClick(){
outputPanelComponent.getChilren().add( new Chart(...) );
}
}
Poza tym w Primefaces jest komponent dashboard , może ci wystarczy (on ma dodatkowo swoje własne api)?
Wiem o dashboard, ale chodzi o to, że chce do takiego dashoboarda dodawać np suwaki w sensie żeby np w moim komponencie był taki chart + dwa suwaki do niego.