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")}