Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Very strange compiler error

In ContactController.java, add a controller method that captures a URI request for "/contact", and adds a Contact object to a parameter ModelMap. The Contact object can have any id, firstName, lastName, and email that you like. But, it should added to the ModelMap using the key "contact". The method should render the view named "contact_detail".

I seem to be getting a compiler error on this code, but as far as I can see there isn't a problem with it at all!

Any help would be much appreciated,

Thank you!

Alastair

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.ui.ModelMap;

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

      @RequestMapping("/contact")
    public String contactDetail(ModelMap modelMap) {
        Contact contact = new Contact('1', "Alastair", "Herd", "adfa@email.com");
        modelMap.put("contact",contact);
        return "contact-details"; 
      }
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;
  }
}

1 Answer

Did you check the preview? If that is all you have you are missing a closing bracket for your class. After which you will receive: Are you sure that you returned the correct view name?

From the instructions and your post above: The method should render the view named "contact_detail".

Thank you, it was the missing bracket and - instead of _.