【问题标题】:XForms - Separate Deployment with Portlets fails loading resourcesXForms - 使用 Portlet 的单独部署无法加载资源
【发布时间】:2013-04-11 18:04:01
【问题描述】:

过滤的 xform 资源(javascript、css 和图像)存在问题。我们尝试使用 OrbeonPortletXFormsFilter 和 Trampoline servlet 写入响应整个表单或使用 request.setAttribute(“oxf.xforms.renderer.document”, xformXml) 在 liferay portlet 中显示 xform。结果是一样的 - 呈现了表单,但没有找到 javascript 和 CSS,所有表单都分散了。表单操作也不起作用。谢谢。

我的配置:

portlet.xml

    <portlet>
        <portlet-name>xForm-portlet</portlet-name>
        <portlet-class>com.xform.XFormPortlet</portlet-class>
        <init-param>
            <name>oxf.main-processor.name</name>
            <value>{http://www.orbeon.com/oxf/processors}pipeline</value>
        </init-param>
        <init-param>
            <name>oxf.main-processor.input.config</name>
            <value>oxf:/config/prologue-portlet.xpl</value>
        </init-param>
        <init-param>
            <name>oxf.error-processor.name</name>
            <value>{http://www.orbeon.com/oxf/processors}pipeline</value>
        </init-param>
        <init-param>
            <name>oxf.error-processor.input.config</name>
            <value>oxf:/config/error.xpl</value>
        </init-param>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>view</portlet-mode>
        </supports>
        <portlet-info>
            <title>Xform Portlet</title>
        </portlet-info>
    </portlet>
<filter>
    <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
    <filter-class>org.orbeon.oxf.portlet.OrbeonPortletXFormsFilter</filter-class>
    <lifecycle>RENDER_PHASE</lifecycle>
    <lifecycle>ACTION_PHASE</lifecycle>
    <lifecycle>RESOURCE_PHASE</lifecycle>
    <init-param>
        <name>oxf.xforms.renderer.context</name>
        <value>/orbeon</value>
    </init-param>
</filter>   
<!-- Map the Orbeon portlet XForms filter -->
<filter-mapping>
<filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
    <portlet-name>xForm-portlet</portlet-name>
</filter-mapping>    

web.xml

<filter>
    <filter-name>orbeon-xforms-filter</filter-name>
    <filter-class>org.orbeon.oxf.servlet.OrbeonXFormsFilter</filter-class>
    <init-param>
      <param-name>oxf.xforms.renderer.context</param-name>
      <param-value>/orbeon</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>orbeon-xforms-filter</filter-name>
    <url-pattern>/orbeon/*</url-pattern>
  </filter-mapping>

 <servlet>
    <servlet-name>orbeon-trampoline-servlet</servlet-name>
    <servlet-class>org.orbeon.oxf.portlet.OrbeonTrampolineServlet</servlet-class>
    <init-param>
      <param-name>oxf.xforms.renderer.context</param-name>
      <param-value>/orbeon</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>orbeon-trampoline-servlet</servlet-name>
    <url-pattern>/xforms-trampoline</url-pattern>
  </servlet-mapping>

【问题讨论】:

  • 这可能是一个或多个错误,因为 Orbeon Forms 4.0 尚未开发该特定功能。我们并没有过多关注这个特性,因为我们真的很想鼓励使用 Form Runner(无论是独立的、作为完整的 portlet 还是作为代理 portlet)。但是,如果我理解得很好,您是否选择了编写完全定制的 XForms 的方法?有什么办法可以使用 Form Builder/Form Runner 代替吗?

标签: liferay portlet orbeon xforms


【解决方案1】:

此时的答案是该功能不适用于 Orbeon Forms 4.0。 An issue 已输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 2019-06-01
    • 2017-08-18
    • 1970-01-01
    • 2015-06-04
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多