Just been reading ch1 - so for so good. Dont have access to other chapters, so if you need more input from me, you can send me other chapter pdfs...

Anyway here is the list I found:

pg 7: "This needs to searchable" -> "This needs to be searchable"
pg 8: "used to render the page client side" -> "used to render the page on client side"
pg 15, Definition: "ECHMAScript" -> "ECMAScript"
pg 16, Figure 1.6: "visa-versa" -> "vice-versa"
pg 17, Figure 1.7: "propegated" -> "propagated"; "and using a feature called" -> "using a feature called"
pg 17: "Binding commands are Aurelia are commands" -> "Binding commands are Aurelia commands" ?
pg 18: "benefit that this gives you as that" -> "benefit that this gives you is that"
pg 20, Figure 1.10 [maybe my mistake?]: "(apart) from the file-name" -> "(apart from the file-extension)"
page 331:

there is no definition for controller method named login (in order to render login view, I must define method with @RequestMapping("/login")


since CSRF is activated, the only way to logout from the system is via POST that forwards CSRF too, and not via GET. There should be definition of <form th:action="@{/logout}" method="post">...

page 338:
Dependency version is 2.1.1.RELEASE and not 2
in thymeleaf section (page 227) there are some problems:

- missing dependencies



I also had to add unbescape (don't know why)...

In listing 6.4, instead TemplateEngine as return param, there should be SpringTemplateEngine as returning Bean

In listing 6.6 you should declare href="#" next to the th:href="..." attribute. This way, you will preserve natural template.
1. this chapter covers -> delete Uploading files

2. for hibernate validator to work, I needed to have this .jar files in lib folder of my tomcat:

I also needed to add this Bean into @Configuration for Hibernate validation to work!

public LocalValidatorFactoryBean localValidatorFactoryBean(){
return new LocalValidatorFactoryBean();
in code listing, you are passing compactDisc as constructor argument, but you want to show setter injection.

I assume this is because you don't have default constructor, but I think that you may confuse readers...

In this case, the bean will be named compactDisc

should it be:

In this case, the bean will be named sgtPeppers