首页 > 解决方案 > 如何在jsf的渲染响应阶段生成insertAfter部分响应

问题描述

在 JSF 如何insertAfter在渲染渲染响应阶段生成响应。

我能够insertAfter在调用应用程序阶段生成响应。但问题是响应它生成两个部分响应,这不是有效的 xml

FacesContext ctx=FacesContext.getCurrentInstance();
if(ctx.getPartialViewContext().isPartialRequest()) {
    PartialResponseWriter ps=ctx.getPartialViewContext().getPartialResponseWriter();
    ps.startDocument();
    ps.startInsertAfter("test");
    ps.startElement("div", null);
    ps.endElement("div");
    ps.endInsert();
    ps.endDocument();
}

它给出的响应为

<partial-response><changes><insert><after id="test"><![CDATA[<div></div>]]></after></insert></changes></partial-response><partial-response><changes><update id="j_id1:javax.faces.ViewState:0"><![CDATA[-8992354986067826873:-4155638239771809631]]></update></changes></partial-response>

我怎样才能在一个部分响应块中做出完整的响应,以便它可以解析。

标签: jsf

解决方案


推荐阅读