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的一些用法的更多相关文章

  1. JavaEE EL & JSTL 学习笔记

    1. EL表达式(特别重要)

  2. jstl与el结合常见用法

    JSTL Functions标签库 在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库: <%@taglib uri=”http://java.sun.com/js ...

  3. EL表达式经典用法

    1.EL表达式获取list集合length长度: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix=&quo ...

  4. Java Web EL JSTL的用法

    1.导入包 fastjson-1.2.2.jar 2.JSP文件加入 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" p ...

  5. El表达式的用法个人总结

    EL表达式的好处: 通过EL可以简化在JSP开发中对对象的引用,从而规范页面代码,增加程序的可读性及可维护性. EL表达式的几个特点:  1:可以与jsp标签库结合使用,也可以与javascript语 ...

  6. 几个常用EL表达式的用法

    转载至  http://yqsshr.blog.51cto.com/469059/131824 1,用来获取表单数据  param 和 paramValues 1.jsp 的有如下表单 <for ...

  7. EL条件判断用法<c:choose>

    EL表达式一般不直接用==,!=,>,<,>=,<=之类的表示相等.不等于.大于.小于.大于等于以及小于等于,而是使用字母表示,如下: ==     eq   等于 !=   ...

  8. 第一章 EL表达式常见用法

    el最常用的几种使用场景: 从配置文件中读取属性 缺失值情况下,配置默认值 el内部字符串使用String的方法 三目运算符 正则表达式 注入系统属性(system properties) 调用系统原 ...

  9. [javaEE] EL表达式调用java方法

    1.新建个类,类里面定义静态方法 package com.tsh.utils; import java.net.URLEncoder; public class ELFunc { public sta ...

随机推荐

  1. #include <NOIP2008 Junior> 双栈排序 ——using namespace wxl;

    题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1 ...

  2. 分享十个JavaScript在线调试工具

    测试Javascript可能是网页开发中最让人忧伤的工作.这里我找一些比较好的工具来帮助大家进行测试工作.这10款是我精选的基于浏览器的JavaScript在线调试工具,希望你们对你们有用. 1.Op ...

  3. Codeforces Round #370 (Div. 2)B. Memory and Trident

    地址:http://codeforces.com/problemset/problem/712/B 题目: B. Memory and Trident time limit per test 2 se ...

  4. [ZZ]Sign Up for the First-Ever Appium Roadshow on August 20th in New York City

    http://sauceio.com/index.php/2014/07/appium-roadshow-nyc/?utm_source=feedly&utm_reader=feedly&am ...

  5. js计算系统当前日期是星期几的几种方法

    方法一: // 计算系统当前是星期几 var str = "今天是星期" + "日一二三四五六".charat(new date().getday()); 方法 ...

  6. Codeforces Round #267 Div.2 D Fedor and Essay -- 强连通 DFS

    题意:给一篇文章,再给一些单词替换关系a b,表示单词a可被b替换,可多次替换,问最后把这篇文章替换后(或不替换)能达到的最小的'r'的个数是多少,如果'r'的个数相等,那么尽量是文章最短. 解法:易 ...

  7. 2014 Super Training #8 G Grouping --Tarjan求强连通分量

    原题:ZOJ 3795 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3795 题目大意:给定一个有向图,要求把点分为k个集 ...

  8. Android应用中菜单(Menu)的位置显示问题

    http://blog.csdn.net/songjinshi/article/details/17381245 注意:为了适配4.0菜单能够横向显示,建议在activity中添加android:th ...

  9. Android Studio如何设置代码自动提示

    在用Eclipse时候,你可以进行设置,设置成不管你输入任何字母,都能进行代码的提示,在Android Studio中也可以 设置,而且比Eclipse设置来的简单.当然如果你觉得代码自动提示会降低你 ...

  10. 敏捷软件开发 原则 模式 与实践 - OCP原则

    最近在读BOB大叔的敏捷软件开发,特别是TDD那一章节,启示真的不少,从测试驱动开发,讲到驱动表明程序设计的意图,从设计意图讲到对象依赖的解耦,从解耦建立Mock对象. 其实是对每个模块都编写单元测试 ...