Я пытаюсь использовать новый JSF 2.2, чтобы пользователь мог загрузить фотографию в свой профиль. В любом случае мне нужно поведение Ajax, которого я добился с помощью следующего фрагмента:
<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;
}
}
Я использую реализацию JSF Mojarra 2.2.6 с Tomcat + Weld CDI и Primefaces 5.1, что не имеет отношения к вопросу, поскольку я использую собственный компонент fileUpload, но я включаю только для того, чтобы вы знали, что я также пытался использовать его, и он не работаю с mode="advanced"
, которые используют ajax, что заставляет меня задуматься, не является ли это какой-то несовместимостью или конфликтом библиотек, которые я использую.
<h:form/>
@MarcosJ.CKichel ? Опубликовать здесь 21.11.2014