2015-01-04 91 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

很容易追蹤已經存在的內容,並且可以使您的實施以高質量遵循官方模塊。祝你好運:-)