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"]}
- ${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;
FreeMarker 获取页面request、session的更多相关文章
- FreeMarker 获取页面appplication、request、session
使用Request里的Attribute值最简单的方法就是直接${AttributeName}或者安全一点:${AttributeName!"default Value"} 1.取 ...
- struts2标签获取parameter,request,session,application中的值
http://localhost:8080/demo/index.jsp?flag=kkkk <s:property value="#parameters.flag" /&g ...
- 关于页面跳转之后获取不到session数据的问题
暂时的解决方法有两种,亲测有效: 方法一: 将页面跳转方式由a标签改为请求转发request.getRequestDispatcher("stu_list.jsp").forwa ...
- Struts2初学 Struts2在Action获取内置对象request,session,application(即ServletContext)
truts2在Action中如何访问request,session,application(即ServletContext)对象???? 方式一:与Servlet API解耦的方式 可以使用 ...
- servlet中使用request.getHeader("referer")获取页面从哪跳转过来的
问题 servlet中使用request.getHeader("referer")获取页面从哪跳转过来的,利用这个方法可以判断网页是否正常登录.我做了一个javaweb小项目,其中 ...
- 在Servlet端获取html页面选中的checkbox值,request获取页面checkbox(复选框)值
html端代码: 选项框: <input type="checkbox" name="crowd" value="选项一">选项 ...
- struts2 action中获取request session application的方法
共四种方式: 其中前两种得到的是Map<String,Object> 后两种得到的才是真正的request对象 而Map就是把request对象中的属性取出做成了键值对而已. [方法一] ...
- spring security+freemarker获取登陆用户的信息
spring security+freemarker获取登陆用户的信息 目标页面之间获取 ${Session.SPRING_SECURITY_CONTEXT.authentication.princi ...
- freemarker获取变量的范围的问题
今天做freemarker的时候,想用一下全局的变量.就是在a.ftl 和 b.ftl页面里面,使用a.action里面放入request的变量.a.action的视图页面是a.ftl ,b.ftl是 ...
随机推荐
- 在DataWorks中实现指定UDF只能被指定账户访问
背景 之前写过一篇文章是关于“DataWorks和MaxCompute内部权限体系的区别”有兴趣的朋友可以点击阅读查看详情.但是还是有些同学会问,我如何在DataWorks中实现我的具体某个Resou ...
- LUOGU P2416 泡芙 (缩点+树剖)
传送门 解题思路 首先先缩点,然后将缩完点的权值改成点中路径为1的条数,然后再将边权下放到点权上,求一个每个点到根的路径和,然后用树上2点距离公式算..刚开始写的线段树,T了2个点. #include ...
- mac下安装Python的工具包pip
1. 在终端下输入 sudo easy_install pip password:输入电脑密码 Finished processing dependencies for pip 表示安装完成 boe ...
- 安装 adb centos 7
打开 https://centos.pkgs.org/7/epel-x86_64/android-tools-20130123git98d0789-5.el7.x86_64.rpm.html 下载 r ...
- PAT甲级——A1104 Sum of Number Segments
Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For exam ...
- 01_Spring入门程序
一.什么是Spring? 1.Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 2.spring是一个高度灵活的轻量级框架,其目的是降低企业级应用开发的复杂度. ...
- 图数据库neo4j和关系数据库的区别
相信您和我一样,在使用关系型数据库时常常会遇到一系列非常复杂的设计问题.例如一部电影中的各个演员常常有主角配角之分,还要有导演,特效等人员的参与.通常情况下这些人员常常都被抽象为Person类型,对应 ...
- C开发系列-指针
指针 通过一段简单的程序,引入指针的概念 #include <iostream> using namespace std; // changeValue函数的定义 void changeV ...
- Install- Linux必学的60个命令
1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... ...
- psu online course
https://onlinecourses.science.psu.edu/statprogram/programs Graduate Online Course Overviews Printer- ...