Baixe o app para aproveitar ainda mais
Prévia do material em texto
Java Web com Servlets e JSPs Avaliação Parte superior do formulário 1) Considerando que m é um java.util.Map, o que é possível afirmar sobre a execução da expressão ${m.xpto}? * Marque todas as alternativas que respondem o enunciado da questão É uma expressão inválida que poderia ser corrigida mudando-a para ${xpto} (alternativa incorreta) Se a expressão fosse escrita como ${m["xpto"]} o resultado seria o mesmo. (alternativa correta) É uma expressão inválida, já que o método getXpto() não existe no java.util.Map. (alternativa incorreta) É uma expressão inválida, já que o método xpto() não existe no java.util.Map. (alternativa incorreta) É uma expressão válida, e retorna como resultado o valor da chave xpto inserida no mapa. (alternativa correta) Resposta correta! A expressão em questão é válida e retorna o valor da chave xpto inserida no mapa. Esta expressão é equivalente à expressão ${m["xpto"]}, portanto ambas podem ser usadas. Quando trabalhamos com mapas em EL, o que vem depois do ponto (.) é a chave de um dos pares do mapa, e não um indicativo de que um método será invocado. 2) O que é correto afirmar sobre a tag <c:forEach>? * Marque todas as alternativas que respondem o enunciado da questão É utilizada para iterar sobre os elementos de uma coleção de dados. (alternativa correta) A lista onde estão os dados pode ser referenciada através de uma expressão EL. (alternativa correta) Possui o atributo var, que referencia o item corrente da iteração. (alternativa correta) É uma das diversas tags presentes na biblioteca JSTL. (alternativa correta) Possui o atributo list, que referencia a lista onde a iteração será realizada. (alternativa incorreta) Resposta incorreta! A tag <c:forEach> é uma tag JSTL que permite iterar sobre elementos de uma coleção. Esta coleção pode ser referenciada por uma expressão EL, o que permite obtê-la através de um atributo da request, por exemplo. Os atributos principais desta tag são o var, que referencia o item corrente; e o items, que referencia a coleção. 3) O que é verdadeiro sobre a tag <jsp:setProperty>? * Marque todas as alternativas que respondem o enunciado da questão Os atributos name e property da tag são opcionais. (alternativa incorreta) Ela permite que as propriedades do bean sejam alteradas. (alternativa correta) O atributo property da tag indica o método setter que será chamado. Por exemplo, para chamar o método setNome() o valor deste atributo deve ser setNome. (alternativa incorreta) Permite popular um bean automaticamente com os parâmetros vindos da request. (alternativa correta) O atributo name da tag indica o nome do bean que terá a propriedade alterada. Este nome deve corresponder ao que foi definido pela tag <jsp:useBean>. (alternativa correta) Resposta correta! A tag <jsp:setProperty> permite a alteração de propriedades de um bean. Para alterar a propriedade nome, por exemplo, o atributo value da tag pode ser nome. Isto fará com que o método setNome() seja invocado no bean. Os atributos name e property são obrigatórios. 4) Sobre a expressão ${pessoa.cpf}, o que é possível afirmar? * Marque todas as alternativas que respondem o enunciado da questão Trata-se de uma expressão EL para ler o CPF de uma pessoa. (alternativa correta) O método setCpf() será invocado no objeto pessoa. (alternativa incorreta) Uma string cujo valor é pessoa existe em algum escopo. (alternativa incorreta) Um objeto cujo nome é pessoa existe em algum escopo. (alternativa correta) O método getCpf() será invocado no objeto pessoa. (alternativa correta) Resposta correta! A expressão em questão é uma expressão EL usada para ler o CPF de uma pessoa. Para que ela funcione, algum dos escopos (request, session, application ou page) deve ter um objeto cujo nome seja pessoa e este objeto deve possuir o método getCpf(), que será invocado pelo EL. 5) O que é correto afirmar sobre a tag <c:if>? * Marque todas as alternativas que respondem o enunciado da questão Possui o atributo test, que indica o teste a ser realizado. (alternativa correta) Um problema desta tag é que o teste a ser realizado não pode ser escrito com o uso de uma expressão EL. (alternativa incorreta) Se o objetivo é escolher uma opção dentre várias com base no resultado do teste, a tag <c:choose> é mais indicada. (alternativa correta) Permite que um teste seja realizado. Se o resultado do teste for verdadeiro, o corpo da tag é renderizado. Caso contrário, ele é ignorado. (alternativa correta) Pode ser utilizada em conjunto com a tag <c:else> para simular o comportamento de uma estrutura if/else. (alternativa incorreta) Resposta correta! A tag <c:if> permite renderizar o corpo da tag se o resultado de determinado teste for verdadeiro. O teste é definido no atributo test e expressões EL podem ser utilizadas. A tag <c:else> não existe. Em situações onde é preciso escolher uma opção dentre várias, a tag <c:choose> é mais indicada. Parte inferior do formulário
Compartilhar