第一次写博客,主要用于总结知识,有错的地方欢迎指教。
EL表达式作用?
它使得jsp的Java代码变得简洁。jsp不能直接对隐式的对象属性进行操作,EL解决了这个问题。
EL怎么用?
这个我觉得有篇文章写得挺好,简洁易懂。
原文链接:http://www.cnblogs.com/HD/p/3630152.html
<%@page import="java.util.*"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="com.amos.model.*"%> <%@ page isELIgnored="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>el表达式学习</title> </head> <body> 第一种,简单取值: <% String data = "hi,amos!"; request.setAttribute("data", data); %> ${data} <br> 第二种,从bean中取值: <% Person p = new Person(); p.setName("amosli"); session.setAttribute("person", p); %> ${person.name} <br> <%=((Person) session.getAttribute("person")).getName()%><br> 第三种:从复杂bean中取值: <% Person person1 = new Person(); Address a = new Address(); a.setCity("上海"); person1.setAddress(a); application.setAttribute("p1", person1); %> ${p1.address.city} <br> 第四种:从集合中取值: <% List list = new ArrayList(); list.add(new Person("amos")); list.add(new Person("li")); list.add(new Person("amosli")); list.add(new Person("hi")); list.add(new Person("hi_amos")); application.setAttribute("personlist", list); %> ${personlist[0].name } <br> <% Map map = new HashMap(); map.put("aa", new Person("aaaa")); map.put("cc", new Person("cccc")); map.put("dd", new Person("dddd")); map.put("ee", new Person("eeee")); map.put("11", new Person("111")); request.setAttribute("map", map); %> ${map.dd.name }<br> <%-- ${map.11.name } 一般情况下用点号进行取值,如果点号取不出来值,那么可以用[]来代替. --%> ${map['11'].name }<br> 获取当前应用的名称: ${pageContext.request.contextPath } </body> </html>
EL注意点:
1、“+”连接符不能连接两个字符串。
2、&&等逻辑运算符只能在两个${}之间才可以。
正则表达式作用?
记录文本规则代码。
正则表达式怎么用?
给大家推荐正则表达式大全:http://blog.csdn.net/onebigday/article/details/5429868
以^开头,以$结尾的是其中的匹配字符
匹配字符
/s 表示任意空白字符
/S 表示任意非空白字符
/d 表示任意一个数字也就是[0-9]
/D 表示除了数字的任意字符等同于[^0-9]
/w 表示一个数字,下划线或者字母字符,等价于[A-Za-z0-9]
/W 表示否认上面的就可以了!
. 表示除了换行符之外的任意字符
重复字符
{n} 表示匹配前面的那一项n次
{n,} 表示匹配前面的那一项n次,或者更多次
{n,m}表示匹配前面的那一项n次,但是不能超过m次
* 表示匹配前面的那一项0次,或者更多次 等价于{0,}
+ 表示匹配前面的那一项1次或者多次,等价于{1,}
? 表示匹配前面的那一项0次或者1次。也就是可有可没有,等价于{0,1}
