Ich versuche, Sitemesh (3) Templating mit Spring Boot (4+) mit Java-Annotation-basierte Konfiguration verwenden.Was sollte der Vorlagenpfad sein, wenn Spring Boot und ein Sitemesh-Filter verwendet werden?
Wenn ich die Controller-URL anklicke, wird die Handler-Methode aufgerufen. Der Sitemesh-Filter ist aktiviert (das Debugging beweist das).
Allerdings bekomme ich eine 404, die ich glaube, weil mit der Config ich die Freemarker Vorlage nicht gefunden habe (falscher Pfad irgendwo).
Code folgt, irgendwelche Vorschläge, was ich falsch mache wäre toll!
Filter: @WebFilter public class SitemeshFilter ConfigurableSiteMeshFilter erstreckt {
@Override
protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
System.out.println("in sitemesh filter");
builder.addDecoratorPath("/*", "templates/main.ftl")
.setMimeTypes("text/html")
.addExcludedPath("/javadoc/*")
.addExcludedPath("/brochures/*");
}
Controller:
@Controller
public class UserController {
@Autowired
MemberService memberService;
@RequestMapping(value="member/{id}")
public ModelAndView viewMember(@PathVariable("id") int memberId, ModelAndView mv) {
mv.setViewName("member");
ClubMember member = memberService.getClubMember(memberId);
mv.addObject("member", member);
return mv;
}
}
Hauptklasse:
@SpringBootApplication
@ServletComponentScan
@EnableAutoConfiguration(exclude = {ErrorMvcAutoConfiguration.class})
public class ClubManagementApplication {
public static void main(String[] args) {
SpringApplication.run(ClubManagementApplication.class, args);
}
}
Application.properties: spring.mvc.view.prefix =/views/
Meine Vorlagen leben in: src/main/resources/templates < - das ist, wo ich die sitemesh Vorlagen gesetzt haben leben src/main/resources/Ausblick < - hier sind die Freemarker Seiten