Jaka jest różnica między atrybutem render i reRender w jSf. Czy możemy użyć programu reRender z biblioteką JSf Core lub można go używać tylko z biblioteką ajax4Jsf. Czym są funkcje obu?Różnica między atrybutami render i reRender w jsf
Odpowiedz
<f:ajax event="change" render=":moons :suns" />
<a4j:support event="onchange" reRender=":moons, :suns" />
<p:ajax event="change" update=":moons, :suns" />
1. Uwaga te trzy ajax połączeń. Pierwszy to standardowy JSF ajax
należący do java.sun.com/jsf/core
, który używa atrybutu renders
do aktualizacji wymaganych komponentów w DOM.
render - Rozdzielona spacjami lista identyfikatorów dla komponentów, które będą aktualizowane po żądaniu Ajax. (tylko przestrzenie są ważne)
2. Drugi należy do RichFaces 3, należy zauważyć różnicę w atrybucie event
reRender - atrybut definiuje identyfikator (y) JSF komponenty, które powinny zostać ponownie wysłane po żądaniu Ajax. ... Możliwe jest również użycie wyrażenia JSF EL jako wartości atrybutu reRender. Może to być właściwość typu Set, Collection, Array lub simple String. (przecinki są ważne, nie wiedząc o przestrzeniach)
- w RichFaces 4 atrybut
reRender
została zmieniona narender
3. Trzecia należy do PrimeFaces i wykorzystuje Atrybut update
(moim zdaniem najbardziej znacząca nazwa tych trzech)
upda te - Komponent (y) do aktualizacji za pomocą ajax. (spacje i przecinki są ważne)
Więc jak widać to w zasadzie to samo zadanie z niewielkimi różnicami w sposobie korzystania z nich. Nie, nie możesz ich mieszać. Użyj render
z jsf/core, reRender
z ajax4Jsf w Richfaces 3 i update
z komponentami PrimeFaces. Zwróć uwagę, że w RichFaces 4 zmieniono nazwę atrybutu reRender
na render
.
Co dotyczy zdarzeń - PrimeFaces i jsf/core używają rzeczywistych nazw zdarzeń DOM (nieprefixowane), RichFaces z drugiej strony wykorzystuje zdarzenia z prefiksem, np. onchange
w przeciwieństwie do change
. Zauważ, że nowy atrybut RichFaces 4 (<a4j:ajax>
zastąpiony <a4j:support>
) <a4j:ajax>
ma taką samą wartość, jak event
i działa tak samo, jak 'event
.
W JSF nie ma atrybutu "reRender". To część Rich Faces. – EJP