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; 
發佈了26 篇原創文章 · 獲贊 11 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章