JavaEE EL的一些用法
EL
可以在指示元素中设置EL是否使用 isELIgnored="true" true是不使用
也可以在web.xml中使用
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</ url-pattern>
<el-ignored>true</el-ignored>来设置
如果两个都设置了,则在指示元素中设置 是定义的有效 ${param.a}
a 是你要请求发送的名字。
<form action="/jsp1/jsp5.jsp">
<input type="text" name="a"/>
<input type="submit" value="ok"/>
</form>
jp5.jsp
就可以用 ${a} 来得到input 的 value
当 a==null时 ${a}的结果是空字符,不会报错。
.运算
((HttpServletRequest)pageContext.getRequest).getMethod()
== --> pageContext.request.method 可以自动转换类型 EL还可以取数组 假如请求的是一个数组元素
String[] names={"a","b","c"};
application.setAttribute("array",names);
${array[0]}
${array[1]}
${array[2]}
而且还可以用arrayList,hashMap。
hashMap可以用. 也可以用[] 用[]好点
HashMap hm=new HashMap();
hm.put("ni hao","wo bu hao");
application.setAttribute("array",hm); ${array["ni hao"]} EL的隐含对象
1. pageContext
相当于jsp的PageContext
使用方法 ${pageContext.xxx}
2. 与属性相关的隐含对象
pageScope, requestScope, sessionScope, applicationScope
3. 与请求参数相关的隐含对象
param ${param.user} == <%= request.getParameter(“user”)%>
paramValues ${paramValues.favorites[1]} == <%= request.getParameterValues(“favorites”)%>
4. 与标头相关的隐含对象
如果取用户请求的表头数据,则可以使用header,headerValues隐含对象
<%=request.getHeader(“user-agent”)%> == ${header[“user-agent”]}
5 . cookie隐含对象
可以取用户的Cookie设置值,例:Cookie中有一个userName的属性
则可以${cookie.userName}来取出; 5. 初始化参数隐含对象
initParam 这个是web.xml设置的ServletContext初始化参数 就是<context-param>中的参数
$(initParam.initCount) == <%=servlet.getInitParameter(“initCount”)%> EL自定义函数
java类
package cc.openhome; public class InFix { public static double eval(String infix){ return Double.parseDouble(infix)+2;
} }
WEB-INF下的 infix.tld
<?xml version="1.0" encoding="utf-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLShema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eeweb-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<short-name>infix</short-name> <!-- 实现实例类的名称 -->
<uri>http://cc.openhome/infix</uri> <!-- 设置uri的对应名称 -->
<function>
<description>Eval Infix</description> <!-- 设置 -->
<name>eval</name> <!-- 自定义EL函数名称 -->
<function-class>cc.openhome.InFix</function-class> <!-- 对应到那个类 -->
<function-signature>double eval(java.lang.String)</function-signature>
</function>
</taglib> 实用到jsp中
%@taglib uri="http://cc.openhome/infix" prefix="infix"%
${infix:eval("56")}
JavaEE EL的一些用法的更多相关文章
- JavaEE EL & JSTL 学习笔记
1. EL表达式(特别重要)
- jstl与el结合常见用法
JSTL Functions标签库 在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库: <%@taglib uri=”http://java.sun.com/js ...
- EL表达式经典用法
1.EL表达式获取list集合length长度: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix=&quo ...
- Java Web EL JSTL的用法
1.导入包 fastjson-1.2.2.jar 2.JSP文件加入 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" p ...
- El表达式的用法个人总结
EL表达式的好处: 通过EL可以简化在JSP开发中对对象的引用,从而规范页面代码,增加程序的可读性及可维护性. EL表达式的几个特点: 1:可以与jsp标签库结合使用,也可以与javascript语 ...
- 几个常用EL表达式的用法
转载至 http://yqsshr.blog.51cto.com/469059/131824 1,用来获取表单数据 param 和 paramValues 1.jsp 的有如下表单 <for ...
- EL条件判断用法<c:choose>
EL表达式一般不直接用==,!=,>,<,>=,<=之类的表示相等.不等于.大于.小于.大于等于以及小于等于,而是使用字母表示,如下: == eq 等于 != ...
- 第一章 EL表达式常见用法
el最常用的几种使用场景: 从配置文件中读取属性 缺失值情况下,配置默认值 el内部字符串使用String的方法 三目运算符 正则表达式 注入系统属性(system properties) 调用系统原 ...
- [javaEE] EL表达式调用java方法
1.新建个类,类里面定义静态方法 package com.tsh.utils; import java.net.URLEncoder; public class ELFunc { public sta ...
随机推荐
- SpringMVC接收参数的注解笔记
1.@RequestParam var param = {}; param.keys = delKeys.join();//delKeys是数组,如delKeys=['a',b','c'],join函 ...
- Oracle中关于bitmap index的使用问题
您如果熟悉 Oracle 数据库,我想您对 Thomas Kyte 的大名一定不会陌生. Tomas 主持的 asktom.oracle.com 网站享誉 Oracle 界数十年,绝非幸致.最近在图书 ...
- 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)
1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimati ...
- 软件工程实训项目案例--Android移动应用开发
实训过程 角色分工 1.项目经理:负责项目的组织实施,制定项目计划,并进行跟踪管理 2.开发人员:对项目经理及项目负责 3.需求分析员:负责系统的需求获取和分析,并协助设计人员进行系统设计 4.系统设 ...
- mysql 防止update/delete误操作
身为一php开发攻城狮,常常涉及在应用中写update/delete语句,忘记加where,后果不堪设想. 还会出现在cml下直接操作mysql的情况,如果mysql 权限够大,一个update/de ...
- 边工作边刷题:70天一遍leetcode: day 86-2
Best Meeting Point 要点: 题本身不难理解,manhattan distance.follow up就变成weighted了(因为一个地方可以有多个住户) 注意input是grid的 ...
- Centos源码安装Python3
CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 下载python(https://www.python.org/ftp/pyt ...
- 数据结构Java实现06----中缀表达式转换为后缀表达式
本文主要内容: 表达式的三种形式 中缀表达式与后缀表达式转换算法 一.表达式的三种形式: 中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3.我们从小做数学题时,一直使用的就是中缀表达式. 后 ...
- 第22章 DLL注入和API拦截(3)
22.6 API拦截的一个例子 22.6.1 通过覆盖代码来拦截API (1)实现过程 ①在内存中对要拦截的函数(假设是Kernel32.dll中的ExitProcess)进行定位,从而得到它的内存地 ...
- Mecanim的Avater
角色共用同一套动作原理 先说说为什么不同的角色可以共用同一套动作:因为导入之后,我们需要为它们每一个模型都创建一个Avater,而Avater里存储了骨骼的蒙皮信息(创建Avater时把三维软件里的蒙 ...