Кнопка не отображается после загрузки файла

Я хочу отобразить кнопку после загрузки файла, у меня есть selectOneMenuдля выбора параметров, когда я загружаю файл с первым вариантом, кнопка не отображается, но отображается после того, как я выбрал второй вариант.

ManagedBean.java

private boolean viewImport;    
public boolean isViewImport() {
    return viewImport;
}

public void setViewImport(boolean viewImport) {
    this.viewImport = viewImport;
}

public void processFiless(FileUploadEvent event) {      
setViewImport(true); 
}

импорт.xhtml

    <ui:composition template="./../../../../template.xhtml">
    <ui:define name="content">
            <h:form id="form1" prependId="false">
                <p:growl id="messages"/>
                <h1><h:outputText value="#{customerData.importBatchTitle}" /></h1>
                <div class="formSection">
                    <p:panel  header="#{app['import.fileSelectionForm']}" id="importFile" toggleable="true" toggleSpeed="300">
                        <h:graphicImage styleClass="formimg" url="/images/orange/fleche2.gif"/><h:outputText value="#{app['import.contract.parameter.primal']}" />
                        <h:selectOneMenu value="#{customerData.parameterType}">
                            <f:selectItems value="#{customerData.parameterTypeItems}" />
                            <p:ajax actionListener="#{customerData.selectionParameterType}" event="change" update="form1"/>
                        </h:selectOneMenu>
                        <br/>
                        <br/>
                        <h:panelGroup rendered="#{customerData.viewUpload}">
                            <p:fileUpload update="form1" fileUploadListener="#{customerData.processFiless}" > 

                                <p:ajaxStatus>
                                    <f:facet name="start">
                                        <h:graphicImage value="/images/ajaxloading.gif" />
                                    </f:facet>
                                    <f:facet name="complete" >
                                        <h:outputText value="" />
                                    </f:facet>
                                </p:ajaxStatus>
                            </p:fileUpload>
                        </h:panelGroup>
                    </p:panel>
                    <br/>
                     <f:subview id="modifyCustt"  rendered="#{customerData.viewImport}">
                     <p:commandButton value="ok"></p:commandButton>
                     </f:subview>
                  </div>
            </h:form>
        </ui:define>
    </ui:composition>

person mak_doni    schedule 23.03.2020    source источник
comment
Я попытался запустить минимально воспроизводимый пример из вашего вопроса, но получаю всевозможные ошибки. Уверены, что это минимально воспроизводимый пример? См. stackoverflow.com/tags/jsf/info.   -  person Kukeltje    schedule 23.03.2020
comment
Подвид виден только тогда, когда значение customerData.viewImport равно true, вы устанавливаете его true только в fileUploadListener, но вы не обновляете подпредставление или родителя, за исключением изменения selectOneMenu (поэтому вы видите его при втором изменении), поэтому попробуйте добавить обновление в p:fileUpload   -  person WoAiNii    schedule 23.03.2020
comment
@MatteoZanini У меня было update в p:fileUpload, которое обновляет form1   -  person mak_doni    schedule 23.03.2020
comment
Жаль не видел. Я пытаюсь воспроизвести ваш случай, и после загрузки я правильно вижу кнопку «ОК», поэтому проблема может быть в вашем шаблоне или в классе ManagedBean; вы также можете попробовать это   -  person WoAiNii    schedule 24.03.2020
comment
@MatteoZanini, когда я деактивирую ajax, он отображает кнопку   -  person mak_doni    schedule 25.03.2020