聚合全网技术文章,根据你的阅读喜好进行个性推荐
开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>
纯粹的freemarker是做显示的,其能显示的东西,取决于它的上下文内容中有什么,你要么将request对象注入到页面上下文中,要么在处理类里面,将地址获取注入到页面上下文中。 纯粹的freemarker里面,是不会注入request之类的,因为其不仅仅是用在web项目做模板,我就经常写个普通的java app去生成静态页面,它根本没有注入request对象的必要。 有些web框架是会将request之类的注入到页面的,有的没有。
推荐一种方式
先在在你的mvc框架里面通过request获取了,在存放到freemarker里面去。
同意Andre.Z”的答案,需要在freemarker配置文件中加上一句,ftl文件里面才可以使用request.
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="requestContextAttribute" value="request" /> </bean>
使用request.getUri() 不过也不对
<@spring.url relativeUrl/>
参见文档 14.4.5.3. form input generation macros
纯粹的freemarker是做显示的,其能显示的东西,取决于它的上下文内容中有什么,你要么将request对象注入到页面上下文中,要么在处理类里面,将地址获取注入到页面上下文中。
纯粹的freemarker里面,是不会注入request之类的,因为其不仅仅是用在web项目做模板,我就经常写个普通的java app去生成静态页面,它根本没有注入request对象的必要。
有些web框架是会将request之类的注入到页面的,有的没有。
推荐一种方式
先在在你的mvc框架里面通过request获取了,在存放到freemarker里面去。
引用来自“Andre.Z”的答案
纯粹的freemarker是做显示的,其能显示的东西,取决于它的上下文内容中有什么,你要么将request对象注入到页面上下文中,要么在处理类里面,将地址获取注入到页面上下文中。
纯粹的freemarker里面,是不会注入request之类的,因为其不仅仅是用在web项目做模板,我就经常写个普通的java app去生成静态页面,它根本没有注入request对象的必要。
有些web框架是会将request之类的注入到页面的,有的没有。
同意Andre.Z”的答案,需要在freemarker配置文件中加上一句,ftl文件里面才可以使用request.
使用request.getUri() 不过也不对
参见文档 14.4.5.3. form input generation macros