FC ConcursosFC Concursos

Questão FC373688

Atenção: O código a seguir é parte de uma aplicação, em condições ideais, que utiliza o Spring Framework e Spring Boot. Utilize esse código para responder a questão. package com.fu

Frameworks para Desenvolvimento

FCC · 2022

Atenção: O código a seguir é parte de uma aplicação, em condições ideais, que utiliza o Spring Framework e Spring Boot. Utilize esse código para responder a questão.

 

package com.funcionarios.empresa.controller;

 

import com.funcionarios.empresa.model.*;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

public class Controle {

 

private LoginDao dao;

private Login login;

 

@RequestMapping(value = "/login", method = RequestMethod.POST)

@ResponseBody

public ModelAndView receberLogin(@RequestParam(name = "user") String user,

@RequestParam(name = "senha") String senha, Model model) {

dao = new LoginDao();

login = dao.verificarLogin(user);

if (login == null) {

 

\(\overset{I}{......}\);

ModelAndView mv = new ModelAndView();

mv.setViewName("erros.html");

return mv;

} else {

//Código oculto intencionalmente aqui, que retorna um objeto mv

//com dados de autorização de acesso do usuário.

}

}

}

 

Para que o objeto mv retornado no método receberLogin contenha um atributo chamado erro com o valor Acesso negado, de forma que esse atributo possa ser recebido e exibido na página erros.html, caso seja necessário, a lacuna I deve ser corretamente preenchida com

  1. response.addAttribute("erro", "Acesso negado")
  2. model.setAttribute("erro", "Acesso negado")
  3. responde.sendRedirect("erro", "Acesso negado")
  4. request.setParameter("erro", "Acesso negado")
  5. model.addAttribute("erro", "Acesso negado")
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A instrução correta é model.addAttribute("erro", "Acesso negado"). Esse método do objeto Model adiciona um atributo ao conjunto de dados que será entregue à view.

Ao executar model.addAttribute("erro", "Acesso negado"), você coloca a chave "erro" com o valor correspondente no escopo da requisição, tornando-a disponível para a página erros.html por meio de expressões da view (por exemplo, ${erro}).

Depois, ao criar e retornar o ModelAndView com mv.setViewName("erros.html"), a view recebe os atributos do Model e pode exibi-los ao usuário. Assim, a mensagem "Acesso negado" ficará acessível para apresentação na página de erro.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo