fileData的空值:com.ibm.xsp.http.UploadedFile在对话框中?

时间:2013-01-07 21:20:39

标签: xpages

我找到了一些导入CSV文件的代码。它使用文件上载控件来获取文件的句柄。当我在常规的xPage上使用它时,它工作得很好。

但是我想在扩展页面对话框中使用它,但它不起作用。导致问题的一行是这一行吗?

var fileData:com.ibm.xsp.http.UploadedFile =   facesContext.getExternalContext().getRequest().getParameterMap().get(getClientId('fileUpload1'));

它总是返回null。我的对话框确实有一个名为fileIpload1的控件。

我在客户端ID中看到的区别是在直接xPage上,客户端ID是:view:_id1:_id19:fileUpload1,当使用对话框时,客户端ID为:view:_id1:_id193:_id194 :_id195:dlg_ImportParticipants:_content:form1中:_id373:fileUpload1

知道我做错了什么或者解决了什么?

2 个答案:

答案 0 :(得分:3)

这个问题的答案可以帮助您:Ext lib dialog and file upload controls

简而言之:您需要使用变通方法。

我使用它,因此如果您需要更多帮助,可以使用工作代码。

答案 1 :(得分:0)

感谢Per链接。我觉得现在对我来说可能有点复杂。我提出了自己的解决方案(有点)。我所做的是使用文件上传控件在我的主xpage上放置一个面板。我的按钮取消隐藏面板。我的导入按钮导入代码,但也会再次隐藏它。我仍然遇到的问题是,我仍然在导入执行后更新xpage上的“嵌入式”视图。

BTW我使用CSS显示属性隐藏/取消隐藏面板。

这不像你发布的链接那么优雅,但更简单。