viewName e attributeName não podem ser resolvidos como variáveis

Fala ai “Hipsters”…

Uma pequena dúvida, eis que eu estava programando enquanto participava de um cursinho free de Programação Spring Boot.

e acabei travando nessas linhas…

@Autowired
blogNoticiaService blogNoticiaService;

@RequestMapping(value = "/posts", method = RequestMethod.GET)
public ModelAndView getPosts() {
	ModelAndView mv = new ModelAndView(viewName: "posts");
	List<Post> posts = blogNoticiaService.findAll();
	mv.addObject(attributeName: "posts", posts);
	return mv;
}

Um detalhe, estou usando o “Eclipse” com o plugin do Spring Boot. E o Eclipse reclama dizendo que os comandos attributeName e o viewName são variáveis!!

Na verdade não é o eclipse, é o compilador Java quem reclama.
Realmente você não tem nenhuma variável chamada attributeName nem viewName.

Mas o problema na verdade é de sintaxe, o correto seria assim:

@RequestMapping(value = "/posts", method = RequestMethod.GET)
public ModelAndView getPosts() {
    ModelAndView mv = new ModelAndView("posts");
    List<Post> posts = blogNoticiaService.findAll();
    mv.addObject("posts", posts);
    return mv;
}

Mas se quiser usar variáveis, nada impede de fazer assim:

@RequestMapping(value = "/posts", method = RequestMethod.GET)
public ModelAndView getPosts() {
    String viewName = "posts";
    ModelAndView mv = new ModelAndView(viewName);
    List<Post> posts = blogNoticiaService.findAll();
    String attributeName = "posts";
    mv.addObject(attributeName, posts);
    return mv;
}
1 curtida

Muito Obrigado @staroski pela ajuda irmão… até comentei de você lá no meu recente commit, dê uma olhada: https://github.com/tncardoso29/blogNoticias/commit/0173dcd36387b4f81fea1ba657ccc77de77f3d96

Depois do almoço irei continuar esse projeto, ai te direi mais se esse comando novo que você me sugeriu, não deu outros problemas.

OBRIGADO MAIS UMA VEZ!!

Que comando?
Isso não são comandos.
Você só estava com um erro de sintaxe na passagem de parâmetros dos métodos invocados.
:wink:

Tá certo cara… Ta certo…

Mas veja só que coisa, eu estou rodando uma página HTML aqui no Spring Boot desse projeto e ele não está me exibindo os dados registrados no DB. Cheguei a checar se havia registros e tem sim… 4 por sinal.

Estou checando o HTML do Bootstrap e mais as classes do Spring Boot, nada fora do normal.