Questão nº 28
Questão de Tecnologia da Informação · FCC TRE-PR 2017 (nº 28)
Consider the following Facelets code.
```
<h:form id="form1">
<h:panelGrid id="panel1" rows="2">
</h:panelGrid>
</h:form>
<h:form id="form2">
<h:commandButton id="button">
<f:ajax render=":form1:panel1 panel2" />
</h:commandButton>
<h:panelGrid id="panel2">
</h:panelGrid>
</h:form>
```
When the button is pressed,
- Apanel1 and panel2 will be rendered and included in form1.
- Bpanel1, in form1 will be re-rendered, along with panel2 in form2. (alternativa correta)
- Conly panel2, in form2 will be rendered.
- Dpanel1, in form1 will be rendered, unlike panel2 in form2.
- Epanel1 will be replaced by panel2.
Resposta comentada
Gabarito Alternativa B
O atributo render em <f:ajax> especifica quais componentes da página devem ser atualizados no navegador após uma requisição AJAX, usando seus IDs.
- (A) Incorreta:
panel2está emform2, não emform1. O atributorenderespecifica quais componentes serão atualizados, não onde eles serão incluídos. - (B) Correta: O valor
:form1:panel1refere-se aopanel1dentro doform1(ID absoluto). O valorpanel2refere-se aopanel2dentro doform2(ID relativo ao formulário atual do botão), e ambos serão re-renderizados. - (C) Incorreta: O
renderespecifica explicitamente:form1:panel1epanel2, então ambos serão renderizados, não apenaspanel2. - (D) Incorreta: Ambos
panel1epanel2serão renderizados, conforme especificado no atributorender. A palavra "unlike" (ao contrário) torna a alternativa falsa. - (E) Incorreta: O
renderatualiza o conteúdo dos componentes especificados; ele não substitui um componente por outro.panel1epanel2são componentes distintos.
Fonte: FCC TRE-PR 2017 Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.