Questão nº 32
Questão de Tecnologia da Informação · FCC TRT14 2022 (nº 32)
Considere que, em uma página JSP, um objeto da classe de entidade Departamento foi recebido com sucesso e o nome do departamento foi extraído para uma variável, como mostrado abaixo.
```jsp
<%
Departamento dep = (Departamento) request.getAttribute("dep");
String nomeDep = dep.getLocalDepartamento();
%>
```
Para carregar e exibir em um campo de formulário o conteúdo da variável nomeDep, utiliza-se a instrução
- A`<input type="text" id="nomeDep" value="<%= nomeDep; %>">`
- B`<input type="text" id="nomeDep" name="<%= nomeDep %>">`
- C`<input type="text" name="nomeDep" value="<%= nomeDep %>">` (alternativa correta)
- D`<input type="text" name="nomeDep" content="<%= nomeDep; %>">`
- E`<input type="text" name="nomeDep" value="{nomeDep}">`
Resposta comentada
Gabarito Alternativa C
Para exibir o valor de uma variável Java em uma página JSP dentro do HTML, usamos a tag de expressão (<%= ... %>). Em campos de formulário HTML, o atributo value é usado para definir o conteúdo inicial exibido, e o atributo name é essencial para identificar o campo quando o formulário é enviado.
- (A) Incorreta: O uso do ponto e vírgula (
;) dentro da tag de expressão JSP (<%= nomeDep; %>) está incorreto. Tags de expressão não requerem ponto e vírgula no final. - (B) Incorreta: O atributo
namede um campo de formulário deve ser um identificador estático (como "nomeDep"), não o valor de uma variável (name="<%= nomeDep %>"). Além disso, essa alternativa não possui o atributovaluepara exibir o conteúdo. Armadilha da banca: Esta alternativa pode ser tentadora porque usa a variávelnomeDep, mas a aplica no atributoname, que tem uma função diferente (identificação do campo no envio do formulário) do atributovalue(conteúdo exibido). - (C) Correta: O atributo
name="nomeDep"define corretamente o nome do campo para envio do formulário. O atributovalue="<%= nomeDep %>"utiliza a tag de expressão JSP de forma correta para inserir o valor da variávelnomeDepcomo conteúdo inicial do campo de texto. - (D) Incorreta: O atributo
contentnão existe para campos<input type="text">; o correto seriavalue. Além disso, há o erro do ponto e vírgula na tag de expressão (<%= nomeDep; %>). - (E) Incorreta: O uso de
{nomeDep}dentro do atributovaluefaria com que a string literal "{nomeDep}" fosse exibida no campo, e não o valor da variável JavanomeDep. Para exibir o valor da variável, a tag de expressão JSP (<%= ... %>) é necessária.
Fonte: FCC TRT14 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.