zwi*_*ebl 2 spring spring-mvc handlebars.js handlebars.java
我有包,但我不知道如何使用它.我只是像使用.jsp文件一样使用它们吗?
我尝试过这样的事情:
test.hbs
<p>{{message}}</p>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
private static class M {
private final String message;
public M(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
@RequestMapping("/test")
public ModelAndView testView() {
ModelAndView mav = new ModelAndView("test.hbs");
M m = new M("Hello, world!");
mav.addObject("m", m);
return mav;
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:javax.servlet.ServletException:无法解析名为'dispatcher'的servlet中名为'test.hbs'的视图
我把test.hbs放在/WEB-INF/views/test.hbs中.如果我把任何.jsp文件放在那里,它就可以了.但出于某种原因.hbs无效.有任何想法吗?
man*_*ish 10
Spring MVC没有对Handlebars的开箱即用支持(请参阅支持的视图技术列表的官方文档).
话虽如此,可以直接向Spring MVC添加对任何基于JVM的视图技术的支持.在较高的层面上,这需要实现一个org.springframework.web.servlet.View及其相应的org.springframework.web.servlet.ViewResolver.
幸运的是,已经存在一个提供此集成的开源项目.可以遵循以下步骤将此项目集成到现有的Spring MVC应用程序中.
第1步:将库添加到构建系统(假设Maven)
<dependency>
<groupId>com.github.jknack</groupId>
<artifactId>handlebars-springmvc</artifactId>
<version>4.0.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
步骤2:
ViewResolver为Spring MVC应用程序配置Handlebarsdispatcher-servlet.xml(或等效的Java配置)
<bean class="com.github.jknack.handlebars.springmvc.HandlebarsViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".hbs"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
第3步:向应用程序添加Handlebars视图
鉴于上述配置,应在/WEB-INF/views/文件夹下添加Handlebars视图.
第4步:加载Handlebars视图
@RequestMapping("/test")
public ModelAndView testView() {
ModelAndView mav = new ModelAndView("test");
M m = new M("Hello, world!");
mav.addObject("m", m);
return mav;
}
Run Code Online (Sandbox Code Playgroud)
请注意,视图名称不应包含,.hbs因为后缀已添加到配置中.
| 归档时间: |
|
| 查看次数: |
3466 次 |
| 最近记录: |