Tôi phải di chuyển thành phần hỗn hợp thành thành phần tùy chỉnh. Ví dụ này là khá đơn giản, nhưng chứng minh vấn đề: các con của thành phần của tôi (my:test
) cần phải được trả lại trong một thành phần khác. Composite my:testC
, như một ví dụ mà tôi không muốn sử dụng, sẽ trông như thế nàyDi chuyển thành phần hỗn hợp thành thành phần tùy chỉnh
<composite:implementation>
<p:panel>
<composite:insertChildren/>
</p:panel>
</composite:implementation>
Rõ ràng (ít nhất tôi hy vọng tôi là đúng với giả thiết này) Tôi có thể không chỉ đơn giản là làm cho p:panel
trong encodeBegin
.
@FacesComponent("test")
public class Test extends UIPanel
{
@Override
public void encodeBegin(FacesContext context) throws IOException
{
// ??
}
@Override
public void encodeEnd(FacesContext context) throws IOException
{
// ??
}
}
Tôi muốn sử dụng my:test
theo một cách như thế này:
<my:test>
<h:outputText value="some Text"/>
</my:test>
Sản lượng nên giống nhau hơn so với sử dụng my:testC
: một số chữ kết xuất trong một bảng điều khiển PrimeFaces. Làm thế nào tôi có thể mã hóa việc sử dụng p:panel
trong lớp Java của tôi?
Tôi không hiểu vấn đề/câu hỏi cụ thể (trên thực tế, không có câu hỏi cụ thể). Bạn có yêu cầu cụ thể cách mã hóa cùng một đầu ra của '' trong thành phần tùy chỉnh của bạn không? Hay bạn đang cụ thể hỏi làm thế nào để tái sử dụng bộ mã hóa mặc định (renderer) của '' cho phần đó? Các trẻ em không phải là vấn đề ở tất cả như là 'encodeChildren()' làm tất cả tự động, howerver câu cuối cùng của đoạn đầu tiên dường như chỉ ra nếu không, đó là khó hiểu. –
BalusC
@BalusC Cảm ơn bạn đã tìm kiếm sự cố này. Tôi đã cập nhật câu hỏi, hy vọng nó là tốt hơn để hiểu bây giờ. Để trả lời câu hỏi của bạn: Tôi đang cố gắng mã hóa cùng một đầu ra của 'p: panel'. – Thor