`

FreeMarker 获取页面request、session

 
阅读更多

使用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"]}

 

 

  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;  
分享到:
评论

相关推荐

    Struts2通过使用ActionContext类获取request和response对象

    在Struts2中,ActionContext不仅仅是获取request和response的工具,它还包含了其他有用的上下文信息,如session、application等。例如,你可以通过ActionContext获取session中的数据: ```java Map, Object&gt; ...

    freemarker 中文手册

    7. **内置对象(Built-in Variables)**:Freemarker提供了一些预定义的对象,如`request`、`session`等,方便在Web环境中使用。 8. **宏(Macros)**:类似于函数,可以封装可重用的模板代码段。 9. **模板继承...

    freemarker及jeecms标签使用学习文档

    - **内置对象**:如`request`、`session`、`application`等,可以直接在模板中访问HTTP上下文中的对象。 2. **Freemarker进阶** - **模板配置**:通过`freemarker.properties`文件设置Freemarker的配置项,如缓存...

    Freemarker 2.3.23 最新中文版参考手册 CHM版

    5. **内置对象和指令**:Freemarker提供了一些内置对象,如`request`、`session`、`application`,可以直接在模板中使用,获取HTTP请求的相关信息。同时,有一些内置指令如`url`、`date`,用于处理URL编码和日期格式...

    Freemarker那点事儿1

    这是因为Freemarker支持Java Bean规范,即使属性未在bean中声明,只要存在对应的getter方法,Freemarker也会尝试通过调用getter来获取值。在这个例子中,`_const_cas_user_.menu`实际上是调用了`menu`的getter方法。...

    Freemarker 语法规则

    Freemarker提供了一系列内置对象,如`request`、`session`、`application`等,方便在Web环境中使用。 13. **日期和数字格式化**: 使用`?date`、`?number`进行日期和数字的格式化,如`${date?string("yyyy-MM-dd...

    FreeMarker手册

    4. **内置对象与函数**:FreeMarker内建了一些对象,如`request`、`session`、`application`,它们提供了对Servlet环境的访问。同时,还有一系列内置函数,如`htmlEscape`用于转义HTML特殊字符,`length`用于获取...

    freemarker中文手册与教材

    你可以通过`request`, `session`, `application`等作用域获取Web请求中的数据,或者自定义数据模型对象。 3. **控制结构** Freemarker提供了丰富的控制结构,如`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#foreach&gt;`, `&lt;#while&gt;`等,...

    从jsp到freemarker2.3.23

    [scope="{page|request|session|application}"]/&gt; ``` **Freemarker:** ```freemarker ``` 在定义变量方面,Freemarker使用`&lt;#assign&gt;`标签,其语法简单直观。 #### 多重判断 **JSP:** ```jsp ... ......

    freemarker总结

    options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,其中encoding指定包含页面时所用的解码集,而parse指定被包含文件是否作为FTL文件来解析,如果省略了parse选项值,则该选项默认是true. ...

    SpringBoot整合freemarker的讲解

    spring.freemarker.expose-session-attributes=true spring.freemarker.request-context-attribute=request spring.freemarker.suffix=.ftl ``` 在resources文件夹下新建templates文件夹,并在其中新建index.ftl...

    Freemarker教程+中文版

    - **内置对象**: FreeMarker提供了一些预定义的对象,如`request`、`session`和`application`,方便访问HTTP请求相关的数据。 - **变量引用**: 可以使用`.`操作符访问对象属性,或者使用`[]`操作符处理索引和键值...

    FreeMarker中文文档

    4. **内置对象**:FreeMarker提供了一些内置对象,如request、session、application等,它们提供了对HTTP请求、会话和应用级别的数据访问。 5. **指令**:FreeMarker有丰富的内置指令,如#set、#include、#import、...

    FreeMarker中文手册

    - **作用域**: FreeMarker的数据模型由多个作用域组成,如`root`、`request`、`session`、`application`等,每个作用域代表不同的生命周期和可见范围。 - **对象映射**: FreeMarker可以将Java对象映射到模板中,...

    freemarker帮助文档

    - **内置对象和函数**:Freemarker提供了一系列内置对象,如`request`, `session`, `application`(在Web环境下),以及一些内置函数如`date_format`,`list`等。 - **模板错误处理**:如何配置错误页面,处理模板...

    freemarker(语法+实例)

    - **常用Web对象**:如request、session、application等。 - **值的搜索顺序**:在视图中查找变量时遵循特定的查找顺序。 - **FTL标签**:在模板中使用自定义标签或框架提供的标签。 - **初始化共享变量**:设置...

    freemarker中文API手册.zip_API

    4. **内置对象和函数**:Freemarker提供了一些内置对象,如`request`、`session`、`application`(在Web环境),以及一些全局函数,如`date`、`number`等,用于日期格式化、数值操作等。 5. **模板配置**:你可以...

    freemarker语法 亲自收集整理

    - **全局共享变量**:通过`request`, `session`, `application`等作用域设置。 - **直接调用Java对象的方法**:Freemarker可以直接调用Java对象的方法。 - **字符串处理**:Freemarker提供了一些内置的字符串处理...

    FreeMarker开发指南

    - **Web常用对象**: 如`request`, `session`, `application`等在FreeMarker中可用。 - **值的搜索顺序**: FreeMarker在模板中寻找变量时会遵循特定的上下文顺序。 - **在模板中使用FTL标签**: 可以在FreeMarker...

    FreeMarker参考手册

    - **内置对象**: 如`request`、`session`等,方便在Web环境中使用。 - **自定义指令**: 通过扩展实现自己的模板指令。 - **表达式语言**: 支持丰富的表达式,如算术运算、比较和逻辑运算。 8. **与其他技术的...

Global site tag (gtag.js) - Google Analytics