我在<p:fileUpload>
中使用<p:dataTable>
。上传工作正常,但我想知道侦听器方法中当前迭代的行,以便我可以更新数据库中的右行。
XHTML:
<p:fileUpload fileUploadListener="#{doorBean.handleFileUpload}"
mode="advanced" dragDropSupport="false" update="messages"
sizeLimit="3000000"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
豆:
public void handleFileUpload(FileUploadEvent event) {
this.file = event.getFile();
...
}
我怎样才能做到这一点?我可以将其他参数传递给bean吗?
答案 0 :(得分:5)
给出
<p:dataTable value="#{bean.items}" var="item" ...>
在侦听器方法中从EL中获取当前迭代的行:
FacesContext context = FacesContext.getCurrentInstance();
Item item = context.getApplication().evaluateExpressionGet(context, "#{item}", Item.class);
或只是将侦听器方法从Bean
移动到Item
:
<p:fileUpload fileUploadListener="#{item.handleFileUpload}" ... />