1
양식이 selectOneMenu
이고 세 번째 "Visualizar todos los archivos"를 선택하면 <t:tree2>
을 렌더링하고 싶습니다. 이 모든 것은 selectOneMenu
에서 값이 변경 될 때 Ajax를 사용하여 구성 요소를 렌더링합니다.Tomahawk의 Ajax 렌더링 : tree2는 첫 번째 노드 만 렌더링하고 자식 노드는 확장되지 않습니다.
무슨 일이 벌어지는지는 트리의 맨 처음 노드 만 렌더링되고, 폴더 옆에있는 +
기호를 클릭하면 전혀 확장되지 않습니다. 나는 무엇을 놓치고
<h:form id="menuForm" enctype="multipart/form-data">
<h:outputLabel for="option" value="Acciones disponibles: " />
<h:selectOneMenu id="option"
value="#{uploadFile.option}">
<f:selectItem itemLabel="Seleccione una opción..." itemValue="null" />
<f:selectItems value="#{uploadFile.options}" />
<f:ajax render="@form" execute="@form" />
</h:selectOneMenu>
<h:panelGrid id="dataLoad" columns ="3"
rendered="#{uploadFile.option == 'Cargar información completa.' ||
uploadFile.option == 'Cargar solo información errónea.'}">
<h:outputLabel for="upfile" value="Archivo: " />
<t:inputFileUpload id="upfile"
value="#{uploadFile.upFile}" />
<h:panelGroup/>
<h:panelGroup/>
<h:commandButton value="Continuar"
onclick="return confirmation()"
action="#{uploadFile.upload}" />
</h:panelGrid>
<h:panelGrid id="listFiles" columns="3"
rendered="#{uploadFile.option == 'Visualizar todos los archivos.'}">
<t:tree2 id="tree" value="#{listFiles.treeRoot}"
var="node" varNodeToggler="t" >
<f:facet name="folder">
<h:panelGroup>
<f:facet name="expand">
<t:graphicImage value="images/folderOpen.png"
rendered="#{t.nodeExpanded}}"
border="0" />
</f:facet>
<f:facet name="collapse">
<t:graphicImage value="images/folderClose.png"
rendere="#{t.nodeExpanded}}"
border="0" />
</f:facet>
<h:outputText value="#{node.description}"
styleClass="nodeFolder" />
</h:panelGroup>
</f:facet>
<f:facet name="file">
<h:panelGroup>
<h:commandLink action="#{listFiles.download(node.identifier)}">
<t:graphicImage value="images/file.png" border="0" />
<h:outputText value="#{node.description}" />
</h:commandLink>
</h:panelGroup>
</f:facet>
</t:tree2>
</h:panelGrid>
</h:form>
:
이 내 코드?
미리 감사드립니다.
는'uploadFile' 빈의 범위는 어디까지입니까? ''둘 다'rendered' 속성에 오타가 있습니다. –
BalusC
UploadFile 빈은 ViewScoped입니다. (오타가 있는지 확인). – BRabbit27
예, 실제로 작동하지 않는 것은 오타입니다. – BRabbit27