1.通过重写exposeHelpers方法,在spring里配置自己的freemarker的视图解析器,在模板中就可以通过${base}获取。
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.servlet.view.freemarker.FreeMarkerView;
public class MyFreeMarkerView extends FreeMarkerView {
private static final String CONTEXT_PATH = "base";
@Override
protected void exposeHelpers(Map<String, Object> model,HttpServletRequest request) throws Exception {
model.put(CONTEXT_PATH, request.getContextPath());
super.exposeHelpers(model, request);
}
}
2.下面是SpringMVC配置文件中的相关配置:
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass" value="com.kyt.utils.MyFreeMarkerView" /><!-- 自定义FreeMarkerView,用来定义项目的全局路径 -->
</bean>