我可以在 ManagedBean 的当前页面中附加 HTML 元素吗?

Can I append HTML elements in current page from ManagedBean?

所以我有一个托管的 viewscope bean,我有一个 html 带有容器的页面

<div id="container>...</div>

我想遍历 managedBean 中的字符串列表,并根据该列表中的内容从 Java 端将一大堆 selectOneMenu 项附加到容器中。

我能做到吗?如果是这样,最简单的方法是什么。 此外,我正在使用 Primefaces 并且愿意使用 Javascript 但宁愿避免它。

事实上,我知道有两种方法可以做到这一点。 第一种(可能也是最简单的一种)是通过以下方法直接注入 html:

org.primefaces.context.RequestContext.getCurrentInstance().execute("<input type='text' />");

在这种情况下,您只需将静态 html 或 java 脚本附加到您的页面。

如果您想添加 jsf 组件,您可以使用绑定从支持 bean 操作组件。然后您可以将组件实例化为简单的 java 对象。 (What is component binding in JSF? When it is preferred to be used?)

我太蠢了....我可以很容易地在 xhtml 中添加一个...,它会循环遍历我从 bean 端获得的列表。