在我的Java代码中,我想以编程方式创建一个<fieldset>
可以在JSF表单中使用的标记。
我的表单的设置如下所示:
Application app = FacesContext.getCurrentInstance().getApplication();
HtmlForm form = (HtmlForm) app.createComponent(HtmlForm.COMPONENT_TYPE);
form.setStyleClass("pure-form pure-form-stacked");
如您所见,我HtmlForm.COMPONENT_TYPE
用作JSF UI组件的标识符,但是我没有找到字段集的标识符,所以尝试了:
UIComponent fieldset = app.createComponent("fieldset");
form.getChildren().add(fieldset);
不幸的是,这无法正常工作,因此我不得不提出另一种解决方案。你有什么想法?
是否有通用的方法可以创建HTML标记(在JSF上下文中是未知的)?
您可以尝试以下操作:
有一个名为的组件<f:verbatim>
,您将在xhtml中使用该组件,如下所示:
<f:verbatim escape="false">
<fieldset id="blah"></fieldset>
</f:verbatim>
要以编程方式实现该目标,可以像下面这样添加该组件:
String fieldsetHTMLText ="<fieldset id=\"blah\"></fieldset>";
UIOutput verbatim = new UIOutput();
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", false);
verbatim.setValue(fieldsetHTMLText);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句