我决定在Spring MVC框架中使用自定义模板引擎。
我的模板在java中实现,并具有渲染为String的方法:
public String render(Map context);
如何配置spring以使它们在Controller bean中可用作视图,例如:
ModelAndView modelAndView = new ModelAndView("activationPage"); // - view name which will actually be java class name reference.
modelAndView.addObject("validationResult", validationResult);
return modelAndView;
模型将作为连接spring和我的模板引擎的代码中的上下文传递。
答案 0 :(得分:3)
您需要实现org.springframework.web.servlet.View
(这应该很简单,您已经拥有与其所需的render
方法非常相似的东西),以及映射视图名称的org.springframework.web.servlet.ViewResolver
(例如" activationPage")在您的自定义视图上。
一旦你有了这个,把你的ViewResolver
类的bean放到上下文中,并且(除非你做了其他妨碍其他事情的东西)它应该自动被Spring选中并且应该工作。如果你已经有其他的ViewResolvers,他们可能会争论谁来解决视图,在这种情况下问一个新的问题。
答案 1 :(得分:1)
你好我是Rythm template engine的作者,大约半年前我和你有同样的要求。我所做的是阅读SpringFramework的Velocity和Freemarker视图的源代码。然后按照他们的方法为spring创建Rythm view。
很容易理解已经存在的东西,它使您的实施质量高,可以遵循官方模块。祝你好运: - )