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
- response.addAttribute("erro", "Acesso negado")
- model.setAttribute("erro", "Acesso negado")
- responde.sendRedirect("erro", "Acesso negado")
- request.setParameter("erro", "Acesso negado")
- 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