如何动态创建 <h:button>

How to create a <h:button> dynamically

如何从 Java 创建 <h:button>?我可以这样创建 <h:commandButton>

HtmlCommandButton button = new HtmlCommandButton();

但是我找不到 <h:button> 的 Java class。 例如,我需要从 Java:

创建这个标签
<h:button outcome="test.xhtml" />

如何实现?

只需在 javax.faces.component.html package 中四处浏览一下即可。

<h:button>表示为HtmlOutcomeTargetButtonclass。

HtmlOutcomeTargetButton button = new HtmlOutcomeTargetButton();
button.setOutcome("test.xhtml");

据说,使用 XHTML 定义组件树最终会得到更好维护的代码。另见 How to create dynamic JSF form fields and JSTL in JSF2 Facelets... makes sense?