#6 - Fix delete button in GuestbookController/guestbook.html.
#3 - Fixed AJAX controller and view.

Trigger repository in GuestbookAjaxController to save new GuestbookEntry. Fixed id of submit button to correctly bind JavaScript function.

Added controller method to handle AJAX POST requests to create new guestbook entries. GuestbookController now handles index view as well. The guestbook view now demarcates an entry fragment to be rendered after the AJAX request.

Extracted JavaScript into dedicated file.
#3, #4, #6 - Cleanups in templates, JavaScript and controller implementations.

Removed redundant controller, JavaScript files, the ajax guestbook template, styles.
#3 - Deleting entries via AJAX works again.

Moved to using @PathVariable to identify the entry to delete.

Refactored use of Optional in GuestbookController.removeEntryJS(…) as a plain if is more readable in this case. Left the Optional code in there to show it for comparison.
#3, #4, #6 - Further cleanups in JavaSCript and templates.

Included 'use strict' in guestbook.js. Removed unused index.html. JavaScript cleanups: new formatting, tabs everywhere, added missing semicolons. Removed unused success parameter in success handler.

Tidied up messages.properties. Modified guestbook.html to use new messages.properties.