我想在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);


  }


这似乎不起作用,但是我试图在其中添加子组件并使它呈现。谁能建议一种更好的方法?

最佳答案

您应该调用新添加的组件encodeBeginencodeEnd方法来渲染它们。

尝试这个:

  xip.encodeBegin(context);
  xip.encodeEnd(context);


还可以查看This link

如果有效,请给我反馈!

08-07 01:20