我必须在显示之前预先填充xform,并且人口数据来自数据库。我知道这可以使用动作或提交来完成但是是否有必要以XML格式传递该数据? 我的JSP / servlet是否有可能在请求中设置Java对象,它可以直接在xform中使用?
谢谢, Yeshasvi
答案 0 :(得分:3)
我已经为渲染Orbeon XForms的JSR-286 portlet实现了类似的功能。我实现的解决方案使用设置RenderRequest(HTTPServletRequest的Portlet eqivalent)属性,因此它也适用于您的Servlet场景。
我使用Apache XMLBeans创建XForm实例XML,然后将其设置为request属性,并使用XForm中的以下XML委托给Orbeon进行XForms呈现:
<xforms:insert ev:event="xforms-model-construct-done" nodeset="instance('nameOfSomeXFormInstance')" origin="xxforms:get-request-attribute('requestXMLAttribute')"/>
当然,您可以完全自由地决定如何从数据库中读取数据并转换为XForms实例的XML模式。
希望这有帮助。
-Stian