10.5. Exercises: Controllers and Routing

While reading the chapter, you created a basic Hello, World application using Spring Boot called hello-spring. Open that project up in IntelliJ, and get ready to add some features!

Modify your HelloController class to display a form on a GET request that asks the user for both their name and the language they would like to be greeted in. It should look something like this:

Greeting Form

Greeting Form

The resulting form submission should return and display the message, “Bonjour Chris”.

Note

The language is presented in a dropdown, more formally known as a select element. For more information about the select element and how it works, read the MDN documentation.

When the user submits the form (via a POST request), they should be greeted in the selected language. Your new feature should:

  1. Include at least 5 languages, with English being the default. If you don’t speak 5 languages yourself, ask your friend the Internet.
  2. Include a new public static method, createMessage, in the HelloController that takes a name as well as a language string. Based on the language string, you’ll display the proper greeting.

10.5.1. Bonus Mission

  1. Instead of returning the greeting as plain text, add a bit of HTML to the response string so that the displayed message looks a bit nicer.