您的位置:首页 > 产品设计 > UI/UE

FreeMarker 获取页面request、session

2014-06-25 22:55 393 查看
使用Request里的Attribute值最简单的方法就是直接${AttributeName}或者安全一点:${AttributeName!"default Value"}

1.取Application范围的对象

xml 代码

1. <#if Application.myApplicationAttribute?exists>

2. ${Application.myApplicationAttribute}

3. </#if>

或者 : ${Application.myApplicationAttribute!"default value"}

2.取session范围的对象

xml 代码

1. <#if Session.mySessionAttribute?exists>

2. ${Session.mySessionAttribute}

3. </#if>

或者 : ${Session.mySessionAttribute!"default value"}

3.取request范围的对象

xml 代码

1. <#if Request.myRequestAttribute?exists>

2. ${Request.myRequestAttribute}

3. </#if>

或者 : ${Request.myRequestAttribute!"default value"}

4.取request parameter范围的对象

xml 代码

1. <#if Parameters.myParameter?exists>

2. ${Parameters.myParameter}

3. </#if>

或者 : ${Parameters.myParameter!"default value"}

5.取context parameter范围的对象

xml 代码

1. ${stack.findValue('#myContextParam')}

request 对象直接对应 HttpServletResponse

例如 获取 当前网页地址: ${request.requestURL}

客户端IP地址: ${request.getRemoteAddr()} 或者 ${request.remoteAddr}

提交方式: ${request.method}

等等

Request: 用于获取Request对象中的attribute对象。

例如:${Request["myRequestAttribute"]} 这样是直接在页面输出属性值。相当于request.getAtrribute("myRequestAttribute");

如果要对这个值进行判断就必须使用如下格式:<#if Request["myRequestAttribute"]="edit">

或者 : ${Request["myRequestAttribute"]!"default value"}

Session:用于获取Session 对象中的attribute对象。

用法参照Request的用法。

Application:用于获取 Application(ServletContext)对象中的attribute对象。

用法参照Request的用法。

RequestParameters:用 于获取Request对象的parameter参数(浏览器端发送的请求数据)

例如:${RequestParameters["myRequestAttribute"]}等同于 request.getParameter("myRequestAttribute");

Parameters:属性获取,依次从 RequestParameters、Request、Session、Application对象中获取对应属性/参数,一旦获取,则不再向下查找。

例如:${Parameters["myRequestAttribute"]}

${Request["a"]}
${RequestParameters["a"]}
${Session ["a"]}
${Application ["a"]}
${JspTaglibs ["a"]}
注意RequestParameters等内部对象时常不能获得所以要:
${RequestParameters?default({})["_errors"]?default("params")}
${Request["request"]?default("request")}
${Session["session"]?default("session")}
${Application["ctx"]?default("ctx")}
${RequestParameters?default({})?keys?size}
${Request?keys?first}
Freemarker可以直接取pageContext,requestAttribute,session,application中的数据,就是不能取requestParameter;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: