我想在encodeBegin
中添加一个子组件 public void encodeBegin(FacesContext context,
UIComponent component)
throws IOException {
XspInputText xip = new XspInputText();
ViewPickList vplComponent = (ViewPickList) component;
ResponseWriter writer = context.getResponseWriter();
String viewName = vplComponent.getViewName();
if (StringUtil.isNotEmpty(viewName)) {
xip.setId(vplComponent.getId() + "_InputText");
xip.setValue("Value");
vplComponent.getChildren().add(xip);
super.encodeBegin(context, vplComponent);
}
这似乎不起作用,但我试图在里面添加子组件并让它渲染。谁能建议一个更好的方法呢?
答案 0 :(得分:3)
您应该调用新添加的组件encodeBegin
和encodeEnd
方法来渲染它们。
试试这个:
xip.encodeBegin(context);
xip.encodeEnd(context);
另请查看This link。
如果有效,请给我反馈!