解决Spring MVC的Handlebars.java视图中的虚拟路径

时间:2016-07-11 08:32:46

标签: java spring-mvc handlebars.java

我正在尝试将Handlebars.java挂钩作为Spring MVC的简单视图引擎。我为HandlebarsViewResolver添加了一个Bean,可以获得渲染视图。

我现在要做的是将视图中的虚拟路径解析为绝对路径。例如,我有一个指向样式表的链接:

<link type="stylesheet" src="/style/theme.css" />

我需要将URL解析为绝对路径,该路径考虑了应用程序可能正在运行的虚拟主机路径。如果通过http://test.site.com/dev/请求申请,则网址将解析为/dev/style/theme.css。对于给定的请求,我可以轻松获取基本路径信息,但我唯一能想到的是为每个上下文向Handlebars上下文添加basePath属性,并通过前缀解析虚拟路径。

<link type="stylesheet" src="{{baseUrl}}/style/theme.css" />

这意味着要么让我的所有模型都从一组基本属性继承,要么使用HandlerInterceptor来处理要添加到属性中的每个模型。

我还看过创建一个帮助函数,但是我遇到了必须为每个请求添加上下文的相同问题,因为Spring似乎无法为每个请求创建ViewResolver ,依赖于我可以在辅助函数定义中使用的HttpServletRequest

我不禁觉得这是一个非常常见的场景,在大多数视图引擎中都可以满足。我错过了一些非常明显的东西吗?

0 个答案:

没有答案