我在以编程方式将FileUploadListener对象添加到HtmlFileUpload (rich:fileupload)时遇到了问题:
这是可行的,但已被弃用:
HtmlFileUpload upload = new HtmlFileUpload();
upload.setFileUploadListener(FacesContext.getCurrentInstance()
.getApplication().createMethodBinding(
"#{actions.storedObjects["+this.getActionID()+"].uploadEventListener}",
new Class[] { UploadEvent.class }));Javadoc说我应该用MethodExpression代替,但是setFileUploadListener()只接受FileUploadListener,这是MethodBinding的一个实例,而不是MethodExpression。我使用的是RichFaces 3.3.2 SR1。
提前感谢!
发布于 2010-04-19 19:35:15
弃用不一定是一个技术问题。代码仍然可以工作。弃用只是一个警告,说明相关的类/方法可能会在将来被删除,并且需要更新API以反映更改。在这种情况下,需要更新的是RichFaces库,而不是您的代码。环顾四周,如果RichFaces issuetracker中已经提到/报告了这一点,如果没有,那么就报告一个,也许他们会更着急。
通过自己修改RichFaces源代码,没有办法让它与改进后的MethodExpression一起工作。接受它或者在代码中添加一行@SuppressWarnings("deprecated")代码。
https://stackoverflow.com/questions/2666834
复制相似问题