哪种方法用于将动作回调绑定到 JSF/ICEFaces InputFile?

Posted

技术标签:

【中文标题】哪种方法用于将动作回调绑定到 JSF/ICEFaces InputFile?【英文标题】:Which method is for binding the action callback to JSF/ICEFaces InputFile? 【发布时间】:2012-01-15 09:45:24 【问题描述】:

我想将一个方法绑定到我的 com.icesoft.faces.component.inputfile.InputFile 对象,使其表现得像这样定义:

<ice:inputFile id="inputFileComponent" actionListener="#mainWindowManager.uploadActionListener"

我创建了 InputFile 实例,但看到了几种方法,但它们都不起作用.. :-(

com.icesoft.faces.component.inputfile.InputFile inputFile = new InputFile();

inputFile.addActionListener(..);
inputFile.setActionListener(..);
inputFile.setActionExpression(..);
inputFile.setAction(..);

上面的 XML 中描述的绑定使用哪种方法..?

【问题讨论】:

【参考方案1】:

选择磁盘上的文件时触发的方法应该有这个签名:

public void uploadActionListener(ActionEvent e)

但是,ice:inputFile 有一个附加参数,名为“autoUpload”。设置为 true 时,应在磁盘上选择文件时立即执行文件提交(如果这是您想要做的)。

这是我的一个项目中的样子:

<ice:inputFile autoUpload="true" actionListener="#myBean.myMethod" submitOnUpload="postUpload" immediate="true" />

当用户选择文件时,立即触发动作并提交表单。希望对您有所帮助。

【讨论】:

那不是我问的。我问的是绑定方法,而不是绑定方法。回答前请仔细阅读问题。 没错,我确实错过了“好像它表现得像”。看看***.com/questions/4532955/… 它在 inputText 上,但应该非常相似。【参考方案2】:

获胜者是 setActionListener(..),但我错过了为组件设置 ID,这导致了所有混乱。

【讨论】:

以上是关于哪种方法用于将动作回调绑定到 JSF/ICEFaces InputFile?的主要内容,如果未能解决你的问题,请参考以下文章

为什么在我的应用程序中使用“ButterKnife”将回调绑定到方法?

如何将动作绑定到 python 中的 tkinter 树视图的标题?

哪种方法将元素添加到 Vuex 状态属性的数组属性是正确的?

使用 constrocer 绑定后,如何将参数传递给回调方法?

WPF如何将mousedown(命令/动作)绑定到标签

将按钮绑定到从 Kivy 到 python 的回调