FreeMarker获取页⾯request、session
使⽤Request⾥的Attribute值最简单的⽅法就是直接${AttributeName}或者安全⼀点:${AttributeName!"default Value"} 1.取Application范围的对象
xml 代码
1. <#ApplicationAttribute?exists>
2.      ${ApplicationAttribute}
3. </#if>
或者 :  ${ApplicationAttribute!"default value"}
2.取session范围的对象
xml 代码
1. <#SessionAttribute?exists>
2.      ${SessionAttribute}
3. </#if>
或者 :  ${SessionAttribute!"default value"}
3.取request范围的对象
xml 代码
session和application的区别1. <#RequestAttribute?exists>
2.      ${RequestAttribute}
3. </#if>
或者 :  ${RequestAttribute!"default value"}
4.取request parameter范围的对象
xml 代码
1. <#Parameter?exists>
2.      ${Parameter}
3. </#if>
或者 : ${Parameter!"default value"}
5.取context parameter范围的对象
xml 代码
1. ${stack.findValue('#myContextParam')}
request 对象直接对应 HttpServletResponse
例如 获取 当前⽹页地址:  ${questURL}
客户端IP地址:  ${RemoteAddr()} 或者  ${Addr}
提交⽅式:  ${hod}
等等
Request: ⽤于获取Request对象中的attribute对象。
例如:${Request["myRequestAttribute"]} 这样是直接在页⾯输出属性值。相当于Atrribute("myRequestAttribute");
如果要对这个值进⾏判断就必须使⽤如下格式:<#if Request["myRequestAttribute"]="edit">
或者 : ${Request["myRequestAttribute"]!"default value"}
Session:⽤于获取Session 对象中的attribute对象。
⽤法参照Request的⽤法。
Application:⽤于获取 Application(ServletContext)对象中的attribute对象。
⽤法参照Request的⽤法。
RequestParameters:⽤ 于获取Request对象的parameter参数(浏览器端发送的请求数据)
例如:${RequestParameters["myRequestAttribute"]}等同于 Parameter("myRequestAttribute");
Parameters:属性获取,依次从 RequestParameters、Request、Session、Application对象中获取对应属性/参数,⼀旦获取,则不再向下查。
例如:${Parameters["myRequestAttribute"]}
1. ${Request["a"]}
2. ${RequestParameters["a"]}
3. ${Session ["a"]}
4. ${Application ["a"]}
5. ${JspTaglibs ["a"]}
6. 注意RequestParameters等内部对象时常不能获得所以要:
7. ${RequestParameters?default({})["_errors"]?default("params")}
8. ${Request["request"]?default("request")}
9. ${Session["session"]?default("session")}
10. ${Application["ctx"]?default("ctx")}
11. ${RequestParameters?default({})?keys?size}
12. ${Request?keys?first}
13. Freemarker可以直接取pageContext,requestAttribute,session,application中的数据,就是不能取requestParameter;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。