我想在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);
}
这似乎不起作用,但是我试图在其中添加子组件并使它呈现。谁能建议一种更好的方法?
最佳答案
您应该调用新添加的组件encodeBegin
和encodeEnd
方法来渲染它们。
尝试这个:
xip.encodeBegin(context);
xip.encodeEnd(context);
还可以查看This link。
如果有效,请给我反馈!