JSP is the de facto standard to generate Web pages in Java world. I have been using JSP since my first job in Canada 12 years ago. First Servlet + JSP, Structs + JSP, then JSF with JSP. Even in my other projects with SpringMVC, I also use JSPX, because I’m so familiar with it. There are several other java based html template engines, like FreeMarker, Velocity, SiteMash. However, I only used JSP in my job, so why bother to learn others? Well, I changed my mind recently, because JSP sucks when working with Bootstrap.