EL表达式
目的:为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
演示EL表达式(按照servlet代码片段、jsp代码片段、效果展示)
1、简单字符串
//简单字符串
request.setAttribute("hello", "HelloWorld");
hello(语法:${范围.属性名}) ${hello }<br>
或者:
${requestScope.hello }
//四个范围从小到大为pageScope,requestScope,sessionScope,applicationScope
//如果没有指定,就会依次查找
2、结构
//结构
Group group=new Group();
group.setName("高等数学一班");
User user=new User();
user.setUserName("张三");
user.setAge(18);
user.setGroup(group);
request.setAttribute("user", user);
<li>结构,采用.进行导航或者称为存取器</li>
姓名:${user.userName }<br>
年龄:${user.age }<br>
组名:${user.group.name }<br>
3、map、数组、集合
//map
Map map=new HashMap();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
request.setAttribute("map", map);
//字符串数组
String [] strArray=new String[]{"a","b","c"};
request.setAttribute("strArray", strArray);
//对象数组
User[] users=new User[10];
for(int i=0;i<users.length;i++){
users[i]=new User();
users[i].setUserName("李四_"+i);
}
request.setAttribute("users", users);
//List
List userList=new ArrayList();
for(int i=0;i<10;i++) {
User usr=new User();
usr.setUserName("王五_"+i);
userList.add(usr);
}
request.setAttribute("userList", userList);
<li>map</li>
map.k1 : ${map.k1 }<br>
map.k2 : ${map.k2 }<br>
map.k3 : ${map.k3 }<br>
<p>
<li>字符串数组</li>
strArray[1]:${strArray[1] }
<p>
<li>对象数组</li>
users[5].username:${users[5].userName }
<P>
<li>List</li>
userList[6].userName: ${userList[6].userName }