af:inputFile 没有调用 valueChangeListener 方法

af:inputFile is not calling valueChangeListener method

问题总结

我正在尝试将图像上传到数据库中的 blob,并且一直在关注各种在线博客以实现此目的。

提供背景,包括您已经尝试过的内容

我尝试将输入文件附在表单中,但收到警告:- “每页仅支持一个 af:form。此警告后来升级为服务器异常错误,我无法进入所述页面。

显示一些代码

 <af:panelFormLayout id="pfl1">
      <f:facet name="footer"/>
      <af:form id="f1" usesUpload="true">
        <af:inputFile label="Label 1" id="if1"  value="#NewUploadImageBean.file}"
                      valueChangeListener="#{NewUploadImageBean.upLoadValueChangeListener}"/>
      </af:form>
    </af:panelFormLayout>

我整个页面只有这个表格。

描述预期和实际结果,包括任何错误消息

想对valueChangeListner 调用我的方法。目前我得到 ADF_FACES-60097 错误然后转换为:java.lang.IllegalStateException:ADF_FACES-30124:在 viewId 上检测到多种形式:/test_pages/employement.jsf。富客户端目前在处理多个表单方面存在一些限制。

如何修复 ADF_FACES-30124:在 viewId 上检测到多个表单?

要这样做,请删除您的 jsf 视图中的所有 af:forms,特别是包含您的 inputFile 的视图,并仅在最高视图标签级别添加一个 af:form useupload="true":

<af:document > 
 <af:form usesUpload="true" id="f1">
... ALL YOUR VIEW TAGS ...
</af:form>
</af:document>