Don't write your HTML and CSS in Java Serverside frameworks, unless serverside rendering is a requirement. If it is a an absolute requirement, avoid Struts, JSF, ... (JSP is probably the closest to pure HTML) otherwise you'll hate Java in 6 months time.
Rather go the API approach - build an API in Java and build the UI with JavaScript or some sort of transpiler like Dart / KotlinJS
Now is also a good time to get into Kotlin rather than Java, it cuts away most of the Java boilerplate