Tomasz
B.
Starszy programista,
Firma informatyczna
Temat: Dynamiczne tworzenie komponentów w JSF
WitamMam takie pytanie mam stronę z JSF index.jsf i w niej
<ice:panelGrid columns="3">
<h:outputLabel for="name" value="Name:"/>
<h:inputText id="name" value="#{formController.name}" required="true" maxlength="50"/>
<h:message for="name"/>
do niej przekazuję parametry za pomocą class
@ManagedBean(name="formController")
@CustomScoped(value = "#{window}")
public class FormController implements Serializable{
private String name="test"
i wszystko ładnie działa ale teraz chce zrobić inną sztuczkę mianowicie :
PYTANIE :
W classie chce dynamicznie budować elementy podobnie jak się piszę kod w GWT lub Vaadin.
Tak że w FormController.class piszę na przykład tak np:
@ManagedBean(name="formController")
@CustomScoped(value = "#{window}")
public class FormController implements Serializable{
public FormController(){
Input imput=new Input();
append(input)
}
}
Jak to zrobić jak powiązać stronę jsf z classą ? Zapomocą adnotacji? Wiem że każdy obiekt JSF ma swoją definicję classy . Będę wdzięczny za kawałek przykładowego kodu boe nie wiem pod jakim hasłem to szukać w necie.
Pozdrawiam
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: Dynamiczne tworzenie komponentów w JSF
W google wpisz: creating jsf components runtime i czytaj...Kilka pierwszych z brzegu:
http://e-ammar.net/Oracle_TIPS/adding_jsf_components_d...
http://www.coderanch.com/t/211447/JSF/java/creating-JS...
Wiem, że to nie są idealne przykłady, ale pokazują co należy zrobić.
Tomasz
B.
Starszy programista,
Firma informatyczna
Temat: Dynamiczne tworzenie komponentów w JSF
Dzięki za pomoc myślę że kluczowym elementem jest binding="#{someBean.dynamicPanelGrid}"
<h:panelGrid binding="#{someBean.dynamicPanelGrid}"/>
Po testuję to w razie czego jeszcze napiszę pozdrawiam.
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: Dynamiczne tworzenie komponentów w JSF
Tomasz,Wydaje mi się, że jeśli interesuje Cię tworzenie pełnego drzewa komponentów (np z definicji w XML, bazie danych itp) to JSF nie jest odpowiednim wyborem.
R.
Tomasz
B.
Starszy programista,
Firma informatyczna
Temat: Dynamiczne tworzenie komponentów w JSF
Nie koniecznie, na razie po prosu zwiększam swoją wiedzę z zakresu JSF i ICEFace, do pełnego dynamicznego tworzenia DOM używałem GWT i VAADIN framework. Teraz chciałem zobaczyć czy można odwołując się do danego komponentu z poziomu kodu zmienić jego własności. Na razie podoba mi się podejście JSF.Pozdrawiam
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: Dynamiczne tworzenie komponentów w JSF
Uzywasz juz ICEFaces 3? To sa ladne komponenty, ale pracujac na nich (i ich wersji dla JSF 1.2) miałem trochę problemów (głównie wydajnościowych), a także (jak wspomniałem w wersji 1.2) obsługa "partial update" była daleka idealnej.Zakładając, że używasz JSF 2.0 (1.2 byłoby trochę bez sensu) to spójrz jeszcze na RichFaces i PrimeFaces. Te 2 + ICEFaces to chyba 80-90% wszystkich pobrań :)
Mnnie do gustu najbardziej przypadły RichFaces, a na PrimeFaces bardzo skarżył się mój kolega (proste rzeczy są łatwe, "dziwne" niewykonalne ;)).
R.
