我想使用JSF 2.2新,让用户上传照片到他的个人资料。无论如何,我需要一个Ajax行为,我用下面的代码片段实现:javax.servlet.http.Part没有被转移到服务器端使用<h:inputFile>
<h:form enctype="multipart/form-data">
<h:inputFile value="#{usuarioController.part}">
<f:ajax listener="#{usuarioController.uploadImage}"/>
</h:inputFile>
</h:form>
但此刻我public void uploadImage()
的javax.servlet.http.Part
部分仍然空..
这是控制器:
@Named(value="usuarioController")
@SessionScoped
public class UsuarioController extends GenericPersonificacaoCrudController<Usuario>{
private static final long serialVersionUID = 3233882970467365819L;
private Part part;
public void uploadImage(){
System.out.println(part);
}
public Part getPart() {
return part;
}
public void setPart(Part part) {
this.part = part;
}
}
我正在使用Mojarra 2.2.6实现JSF与Tomcat +焊接CDI和Primefaces 5.1这是无关的问题,因为我使用本机fileUpload组件,但我只是包括只是让你知道我也试过使用它和它犯规与使用ajax的mode="advanced"
一起工作,是什么让我怀疑它是否与我正在使用的库存在某种不兼容或冲突。
这可能相关http://stackoverflow.com/questions/16336795/jsf-2-2-fileupload-does-not-work-with-ajax-form-appears-to-have-incorrect-enc – kolossus 2014-11-21 20:54:24