2015-01-04 90 views
2

我决定在Spring MVC框架中使用自定义模板引擎。如何实现自定义模板引擎的spring支持?

我的模板用Java实现,有方法渲染成字符串:

public String render(Map context); 

如何春天配置,以使他们在控制豆类的观点的,例如像:

ModelAndView modelAndView = new ModelAndView("activationPage"); // - view name which will actually be java class name reference. 
modelAndView.addObject("validationResult", validationResult); 
return modelAndView; 

型号将作为上下文在连接spring和我的模板引擎的代码中传递。

回答

2

您需要实现org.springframework.web.servlet.View(这应该很容易,你已经有非常相似的,它需要的render方法的东西),以及org.springframework.web.servlet.ViewResolver,这对您的自定义视图的视图名称(如“activationPage”)映射。

一旦你有了这些,把你的ViewResolver类的bean放到上下文中,并且(除非你做了其他的事情),它应该被Spring自动提取并且应该可以工作。如果您已经拥有其他ViewResolver,那么他们可能会争论谁来解决问题,在这种情况下请提出一个新问题。

0

嗨我是Rythm template engine的作者,大约半年前我和你有同样的要求。我所做的是阅读SpringFramework的Velocity和Freemarker视图的源代码。然后按照他们的方法为弹簧创建Rythm view

很容易追踪已经存在的内容,并且可以使您的实施以高质量遵循官方模块。祝你好运:-)