Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Spring Basics Modeling, Storing, and Presenting Data Insert POJO Data into Thymeleaf Template

Robert McNeil
Robert McNeil
6,466 Points

insert pojo data into thymeleafe template wont work

This is my code below, and the response i get is.

Bummer! It looks like the page could not be found. Are you sure you added a method with the correct @RequestMapping annotation?

What am I missing?

com/teamtreehouse/contactmgr/controller/ContactController.java
package com.teamtreehouse.contactmgr.controller;

import com.teamtreehouse.contactmgr.model.Contact;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.ui.ModelMap;

@Controller
public class ContactController {
    @RequestMapping("/")
    public String home() {
      return "index";
    }

  @RequestMapping(value = "/contact/{id}") 
  public String contactDetails(@PathVariable int id, ModelMap modelMap) { 
    Contact contact = new Contact(id, "", "", ""); 
    modelMap.put("contact",contact); 
    return "contact_detail"; 
  }

}
com/teamtreehouse/contactmgr/model/Contact.java
package com.teamtreehouse.contactmgr.model;

public class Contact {
  private int id;
  private String firstName;
  private String lastName;
  private String email;

  public Contact() {}

  public Contact(int id, String firstName, String lastName, String email) {
    this.id = id;
    this.firstName = firstName;
    this.lastName = lastName;
    this.email = email;
  }

  public int getId() {
    return id;  
  }

  public String getFirstName() {
    return firstName;  
  }

  public String getLastName() {
    return lastName;  
  }

  public String getEmail() {
    return email;  
  }

  public void setId(int id) {
    this.id = id;  
  }

  public void setFirstName(String firstName) {
    this.firstName = firstName;  
  }

  public void setLastName(String lastName) {
    this.lastName = lastName;  
  }

  public void setEmail(String email) {
    this.email = email;
  }
}

3 Answers

Seth Kroger
Seth Kroger
56,413 Points

This is case where your solution is one you'd use in most real-world problems, but not quite what the challenge is asking for. Which is to render the template for the specific path "/contact", not "contact/{id}"

Robert McNeil
Robert McNeil
6,466 Points

Do you mean changing the line @RequestMapping(value = "/contact/{id}") to @RequestMapping(value = "/contact") This gives me the same error. There must be something else missing.

Robert McNeil
Robert McNeil
6,466 Points

ok so using just what is below will work and got me passed this. Far less complicated than I though.

 @RequestMapping("/contact")
    public String contact(ModelMap modelMap) {
      Contact c = new Contact();
      modelMap.put("contact",c);
      return "contact_detail";
    }