Ajax监听器不使用JSF2.2 inputFile

时间:2015-11-12 02:35:34

标签: ajax jsf file-upload glassfish-4 jelastic

您好我的问题有点类似于以下内容: ajax-listener-not-working-with-inputfile

我可以在本地环境中使用AJAX调用上传文件,一切都按预期工作。但是,当我将war文件部署到Jelastic PaaS时,AJAX监听器似乎无法正常工作。

我已经尝试通过替换下的jar来更新到Jelastic上的JSF2.2 glassfish \ modules并重新启动服务器,如下所示: JSF-working-properly-AJAX-file

但这似乎没有解决问题。

我甚至创建了一个非常简单的测试,类似于第一个链接中使用的测试,但我仍然没有运气。

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");
    }
}

现在已经坚持了几天,所以任何帮助将不胜感激。如上所述,这在我的本地开发环境中运行良好,但在部署到Jelastic的Glassfish4时失败。

0 个答案:

没有答案