使用非ajax请求更新JSF视图

使用非ajax请求更新JSF视图,jsf,Jsf,我正在用jsf上传一个文件,我想在输出标签上显示用户的进度。这是我迄今为止尝试过的,但只有在上传完成后才会更新 <h:form enctype="multipart/form-data" id="form_upload"> <p:panelGrid columns="2"> <p:outputLabel value="Tota

我正在用jsf上传一个文件,我想在输出标签上显示用户的进度。这是我迄今为止尝试过的,但只有在上传完成后才会更新

<h:form enctype="multipart/form-data" id="form_upload">

                             <p:panelGrid columns="2">
                                         <p:outputLabel value="Total Excel count"/>
                                          <h:outputLabel value="#{order.total_excel_count}"/>
                                          <h:outputLabel value="Total Uploaded"/>
                                          <h:outputLabel value="#{order.uploaded}"/>

                                           <br/>
                                           <br/>
                                           <br/>
                                    </p:panelGrid>
                            <p:messages closable="true" showDetail="true"/>
                            <p:fileUpload mode="simple" accept=".csv" value="#{order.uploadedFile}" />
                            <p:commandButton update="form_upload" value="Upload" action="#{order.upload}" ajax="false" id="uploader"/>
    </h:form>




还有我的背豆

@ManagedBean(name = "order")
@ViewScoped
public class Upload {
         int uploaded,total_excel_count;//getter setter
    private UploadedFile uploadedFile;//getter setter
   public void upload() {


        try {
            InputStream in = uploadedFile.getInputstream();
            Scanner scanner = new Scanner(in);
            List<String> s = new ArrayList();
            while (scanner.hasNext()) {
                String line = scanner.nextLine();
                s.add(line);
                uploaded++;
                 doInsert(s);//method to do insert in the db

            }
            scanner.close();
            total_excel_count=s.size();

            setExist(total_excel_count-getUploaded());
        } catch (Exception e) {
              FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "!Some Error Occured", "Card Upload"));

            e.printStackTrace();
        }

    }

        }
@ManagedBean(name=“order”)
@视域
公共类上载{
int已上载,总计\u excel\u计数;//getter setter
私有上传文件上传文件;//getter setter
公开作废上载(){
试一试{
InputStream in=uploadedFile.getInputstream();
扫描仪=新扫描仪(英寸);
列表s=新的ArrayList();
while(scanner.hasNext()){
字符串行=scanner.nextLine();
s、 添加(行);
上传++;
doInsert(s);//在数据库中进行插入的方法
}
scanner.close();
总excel计数=s.大小();
setExist(总excel计数-getupload());
}捕获(例外e){
FacesContext.getCurrentInstance().addMessage(空,新的FacesMessage(FacesMessage.SEVERITY_错误,“!发生了一些错误”,“卡上载”);
e、 printStackTrace();
}
}
}

如果不使用基于“ajax”的上传,你无法在页面中显示上传进度你在问:“我怎么能不开车就开车”我不明白你的意思。有可能实现吗that@Kukeltje你这是什么意思?在上传过程中更新页面的部分内容需要ajax,而你不想使用ajax。因此,“你想开车而不开车”@Kukeltje是否可以使用ajax在jsf中上传文件?