【发布时间】:2014-03-06 11:12:39
【问题描述】:
我想在 <div> 标记中动态包含 Primefaces 组件。这可能吗?
使用示例
<p:inputText />
将呈现为:
<div>
<input id="j_idt18" ...>
</div>
我尝试创建一个扩展 PF 的 InputText 的自定义组件,并在渲染器中手动包含 InputText 标记,例如:
@Override
protected void encodeMarkup(FacesContext context,
org.primefaces.component.inputtext.InputText inputText)
throws IOException {
ResponseWriter writer = context.getResponseWriter();
String clientId = div.getClientId(context);
writer.startElement("div", div);
super.encodeMarkup(context, inputText);
writer.endElement("div");
}
它工作正常,但是当我对 InputText 组件进行 ajax 更新时,div 被重新渲染并再次重新创建。如何防止 div 在标记中重新呈现?
我不能只使用复合组件自定义组件。
谢谢
【问题讨论】:
标签: jsf jsf-2 primefaces