java - 您可以在 JSF 渲染器中添加子组件吗

标签 java jsf jakarta-ee

我想在 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 .

如果有效或无效,请给我反馈!

关于java - 您可以在 JSF 渲染器中添加子组件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381809/

相关文章:

javascript - 如何在 JSF <h :commandLink> action is performed? 之前执行 Javascript

eclipse - 如何在 Eclipse 中创建、使用和运行 "The Java EE 6 Tutorial"处的教程?

java - 在没有数据源的情况下在 Wildfly 中启动 .war

java - 应用程序引擎的全局捕获 - java sdk

java - 如何在独立的 SWT 应用程序中创建 IMarker

java - 应用程序的 CPU 使用率比其他正常 Web View 高

jakarta-ee - EJB 无状态初始化模式

java - 使用 Java 从 Wolfram Alpha 检索的结果中提取所需的子字符串

java - Java EE WebApp + icefaces 中的长时间运行任务

jsf - ajax更新期间组件值丢失