Muszę przeprowadzić migrację komponentu kompozytowego do komponentu niestandardowego. Ten przykład jest raczej uproszczony, ale demonstruje problem: elementy potomne mojego komponentu (my:test
) muszą być renderowane w innym komponencie. Kompozyt my:testC
, jako przykład, który nie chcę użyć, będzie wyglądać takMigracja komponentu kompozytowego do komponentu niestandardowego
<composite:implementation>
<p:panel>
<composite:insertChildren/>
</p:panel>
</composite:implementation>
oczywiście (przynajmniej mam nadzieję, że się nie mylę z tym założeniem) Nie mogę po prostu spowodować, że p:panel
w encodeBegin
.
@FacesComponent("test")
public class Test extends UIPanel
{
@Override
public void encodeBegin(FacesContext context) throws IOException
{
// ??
}
@Override
public void encodeEnd(FacesContext context) throws IOException
{
// ??
}
}
chcę użyć my:test
w sposób jak poniżej:
<my:test>
<h:outputText value="some Text"/>
</my:test>
Wyjście powinno być takie same, jak przy użyciu my:testC
: jakiś tekst świadczonych w panelu PrimeFaces. Jak mogę zakodować użycie p:panel
w mojej klasie Java?
Nie rozumiem konkretnego problemu/pytania (w rzeczywistości nie ma nigdzie konkretnego pytania). Czy jesteś konkretnie z pytaniem, jak zakodować to samo wyjście z '' w swoim komponencie niestandardowym? A może konkretnie pytasz, jak ponownie użyć domyślnego kodera (renderera) '' dla tej części? Dzieci w ogóle nie stanowią problemu, ponieważ 'encodeChildren()' robi to wszystko automatycznie, podczas gdy ostatnie zdanie pierwszego akapitu wydaje się wskazywać inaczej, co jest mylące. –
BalusC
@BalusC Dziękujemy za obejrzenie tego numeru. Zaktualizowałem to pytanie, mam nadzieję, że teraz lepiej to zrozumieć. Aby odpowiedzieć na twoje pytanie: Próbuję zakodować to samo wyjście z 'p: panel'. – Thor