Привет, моя проблема несколько похожа на следующую: ajax-listener-not-working-with- входной файл
Я могу загружать файлы с помощью вызова AJAX в своей локальной среде, и все работает так, как ожидалось. Однако, когда я развертываю военный файл на Jelastic PaaS, прослушиватель AJAX, похоже, не работает.
Я попытался обновить JSF2.2 на Jelastic, заменив банку в Glassfish\modules и перезапустив сервер, как предлагается здесь: JSF-правильный-рабочий-AJAX-файл
Но это, похоже, не решило проблему.
Я даже создал очень простой тест, похожий на тот, который использовался в первой ссылке, и мне все еще не везет.
xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>JSF Test</title>
</h:head>
<h:body>
<h:form>
<h:commandButton id="btnTest" value="Command Button">
<f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This works.
</h:commandButton>
</h:form>
<h:form>
<h:commandLink id="lnkTest" value="Command Link">
<f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This works.
</h:commandLink>
</h:form>
<h:form enctype="multipart/form-data">
<h:inputFile id="fileTest">
<f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This input file using Ajax call doesn't work
</h:inputFile>
</h:form>
</h:body>
</html>
фасоль
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ViewScoped
@ManagedBean(name = "submitFormBean")
public class SubmitFormBean{
public SubmitFormBean() {
}
public void uploadTest(){
System.out.println("Test");
}
}
Застрял на этом в течение нескольких дней, поэтому любая помощь будет принята с благодарностью. Как уже упоминалось, это прекрасно работает в моей локальной среде разработки, но не работает при развертывании на Glassfish4 от Jelastic.