freemarker中无法使用内置对象request

工具:IDEA
架构:SpringBoot2+freemarker

       freemarker:
        request-context-attribute: request
        #禁止模板缓存
        cache: false
        template-loader-path: classpath:/templates
        suffix: .html
        settings:
          classic_compatible: true

访问:http://192.168.0.2:8001/hello/freemarker?id=1

    <dl>
        <dt>Request:${Request["method"]} </dt>内置Request对象为空
         <dt>request:${request.id} </dt>配置文件绑定的request也为空
    </dl>

是怎么回事呢,请哪个师兄指点一下

你这${request.id} 是啥操作?你试试看${request.contextPath}

${request.contextPath}有值。
${request.id}是取get中的ID值
访问:`http://192.168.0.2:8001/hello/freemarker?id=1`
我试了${Request['id']}、${Request.id}、${Request .getParameter('id')}
request也试了,都取不到

还能这样玩儿?我没试过!不过你可以尝试在Controller里面把这个id存储到ModelAndView里面

ModelAndView modelAndView = ...
modelAndView.add("id", id);

在页面上这样取值

${id}

控制器里传没问题,我想的是直接在模板里调用,这样方便很多

那估计是不支持吧,我反正没这样用过。 :smile:

我在jfinal+FreeMarker用过,能直接调用内置对象