El表达式
来源:互联网 发布:爱知目标内容 编辑:程序博客网 时间:2024/05/17 22:57
EL表达式
读取requestScope的对象
- 编写一个servlet,转发到显示页面
- 在requestScope里面存现一个Person对象
- 在显示页面使用el表达式将对象去取
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); //设置request和response编码格式 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); Person person = new Person("王二",99,"男"); request.setAttribute("person", person); request.getRequestDispatcher("/el/getElTest01.jsp").forward(request, response); out.flush(); out.close(); }
显示页面
- 可以通过“ . ”直接获取person的属性值
- person.age 相当于调用person的age的get方法
----获取requestScope里面的person对象------- ${requestScope.person.name }<br> <!-- 直接获取person.xxx,没有指定从哪个域对象开始取值 从pageScope, requestScope,sessionScope,applicationScope开始取值 --> ${person.age +1 }<br> --------------------Boolean表达式---------------------------------<br> ${person1 == null } person1在所有域里面都为null <br> ${person != null } person不为null<br> ${empty person.age} 判断age是否为null<br> ${person != null ? "正确" : "错误"} <br>
结果:
三目运算符的使用
<input type="radio" name="gender" ${person.sex=="男"? "checked":" "}>男 <input type="radio" name="gender" ${person.sex=="女"? "checked":" "}>女
结果:
获取Map集合里面的值
<% //创建一个map集合 Map<String,String> map = new HashMap<String,String>(); //向map集合添加元素 map.put("k1", "v1"); map.put("k2", "v2"); map.put("k2", "v2"); //将map集合放到requestScope域里面 request.setAttribute("map", map); %> <!-- 去取map的k1的值 --> map集合里面k1的值为:${map.k1 };
获取请求头
<h3>获取请求头</h3> 获取请求头${header}<br><br><br> 获取请求头的Accept:${header.Accept}<br> <%-- 当获取Accept-Encoding,"${header.Accept-Encoding}"这样写会报错,其中的“-”是特殊符号 --%> 获取请求头的Accept-Encoding:${header["Accept-Encoding"]} <br> 获取请cookie对象:${cookie }<br> 获取cookie.JSESSIONID的值:${cookie.JSESSIONID.value }<br> 获取请求方式:${pageContext.request.method }
web.xml文件中配置初始化参数
web.xml文件<context-param> <param-name>name</param-name> <param-value>张三</param-value></context-param>
获取初始化参数取web.xml的初始化参数:${initParam.name }
- 域对象重小到大的排序
pageScope , requestScope,sessionScope,applicationScope
pageScope在当前页有效,相当于this,不管是转发还是重定向都会丢失属性和参数。
- ${param.name}
name: "${param.name }"<br> //相当于 <% out.println(request.getParameter("name")); %>
- age: ${param.age2 + 10}可以进行类型转换,将String装换成Int
age: ${param.age2 + 10}<br> <% String age = request.getParameter("age2"); Integer.parseInt(age); %>
- ${paramValues.color } 接收数组类型
color: "${paramValues.color }"<br> <% String[] color = request.getParameterValues("color"); %>
- ${applicationScope.time } 获取 applicationScope里面的time对象
${applicationScope.time } <% application.getAttribute("time"); %>
- ${sessionScope.person.name }接收实体对像可以采用联级的方式来获取属性值
Person对像用于测试
重域对象里面取值的问题
Person personSession = new Person(); personSession.setAge(25); //这里是sessionScope里面的 session.setAttribute("perScope", personSession); Person personRequesr = new Person(); personRequesr.setAge(20); request.setAttribute("perScope", personRequesr);
- ${perScope.age }先重小范围属性小的开始查找当小的范围查找到就取出(key,value)
所以age = 25
//指定重session域对象,里面取出person在取出namesessionAttrtubite: ${sessionScope.person.name }<br> <!-- 对于key有特殊符号的要使用[] --> sessionAttrtubite: ${sessionScope["com.zx.entity.Person"].name }<br>
${sessionScope.person.name }解析
- sessionScope进入session的域对象里面
- seesionScope.person调用getAttribute(String s)
- sessionScope.person.name调用Person的getName方法
“${paramValues.color[0]}获取第一个数组
${pageContext.request.contextPath }获取web Application的名称
pageContext即为pageContext类型,但只能是只读属性,就可以一直的.下去
阅读全文
0 0
- 【EL】EL表达式
- EL表达式
- EL表达式
- EL表达式
- EL表达式
- EL表达式
- EL表达式
- EL表达式
- EL表达式
- el表达式
- EL表达式
- EL表达式
- EL表达式
- el表达式
- el 表达式
- EL表达式
- EL表达式
- EL表达式
- Spring 集成 JFinal 获取微信公众号用户信息
- 网络编程
- Aiseesoft Burnova(多功能DVD刻录软件) 官方版 V1.3.6下载 | Aiseesoft专业dvd光盘刻录软件
- Java 8 一元运算符UnaryOperator and BinaryOperator Example
- PageOffice动态填充数据库数据
- El表达式
- docker系列-06.docker搭建ELK(一)
- 【最新完整90G】史上最全传智播客大数据视频资料
- 第二篇!快速幂
- Fidder抓取Android中app的请求
- 压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate
- 实验四(二)实现一门语言的语法分析器
- nginx安装与基本功能
- 创业公司产品经理如何画好原型图