王勇视频El表达式详解例子(转载)
原文链接:http://suo.iteye.com/blog/407690
对JSTL中的EL表达式做下测试(具体过程可以参见尚学堂的视频)
第一步:添加JstlElAction类
- package com.bjsxt.struts;
- /**
- * 测试EL表达式
- */
- public class JstlElAction extends Action {
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //普通字符串
- request.setAttribute("hello", "hello world");
- //结构
- Group group = new Group();
- group.setName("尚学堂");
- User user = new User();
- user.setUsername("张三");
- user.setAge(18);
- user.setGroup(group);
- request.setAttribute("user", user);
- //map
- Map mapValue = new HashMap();
- mapValue.put("key1", "value1");
- mapValue.put("key2", "value2");
- request.setAttribute("mapvalue", mapValue);
- //字符串数组
- String[] strArray = new String[]{"a", "b", "c"};
- request.setAttribute("strarray", strArray);
- User[] users = new User[10];
- for (int i=0; i<10; i++) {
- User u = new User();
- u.setUsername("U_" + i);
- users[i] = u;
- }
- request.setAttribute("users", users);
- List userList = new ArrayList();
- for (int i=0; i<10; i++) {
- User uu = new User();
- uu.setUsername("UU_" + i);
- userList.add(uu);
- }
- request.setAttribute("userlist", userList);
- //empty
- request.setAttribute("value1", null);
- request.setAttribute("value2", "");
- request.setAttribute("value3", new ArrayList());
- request.setAttribute("value4", "123456");
- //html
- request.setAttribute("htmlValue", "<font color='red'>html</font>");
- return mapping.findForward("success");
- }
- }
第二步:添加测试的jsp页面(jstl_el.jsp)
- <%@ page language="java" contentType="text/html; charset=GB18030"
- pageEncoding="GB18030"%>
- <!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=GB18030">
- <title>测试EL表达式</title>
- </head>
- <body>
- <h1>测试EL表达式</h1><br>
- <hr>
- <li>普通字符串</li><br>
- hello(jsp脚本):<%=request.getAttribute("hello") %><br>
- hello(el表达式,el表达式的使用方法$和{}):${hello }<br>
- hello(el表达式,el的隐含对象pageScope,requestScope,sessionScope,applicationScope,<br> 如果未指定scope,它的搜索顺序为pageScope~applicationScope):${requestScope.hello }<br>
- hello(el表达式,scope=session):${sessionScope.hello }<br>
- <p>
- <li>结构,采用.进行导航,也称存取器</li><br>
- 姓名:${user.username }<br>
- 年龄:${user.age }<br>
- 所属组:${user.group.name }<br>
- <p>
- <li>输出map,采用.进行导航,也称存取器</li><br>
- mapvalue.key1:${mapvalue.key1 }<br>
- mapvalue.key2:${mapvalue.key2 }<br>
- <p>
- <li>输出数组,采用[]和下标</li><br>
- strarray[2]:${strarray[1] }<br>
- <p>
- <li>输出对象数组,采用[]和下标</li><br>
- userarray[3].username:${users[2].username }<br>
- <p>
- <li>输出list,采用[]和下标</li><br>
- userlist[5].username:${userlist[4].username }<br>
- <p>
- <li>el表达式对运算符的支持</li><br>
- 1+2=${1+2 }<br>
- 10/5=${10/5 }<br>
- 10 div 5=${10 div 5 }<br>
- 10%3=${10 % 3 }<br>
- 10 mod 3=${10 mod 3 }<br>
- <!--
- ==/eq
- !=/ne
- </lt
- >/gt
- <=/le
- >=/ge
- &&/and
- ||/or
- !/not
- //div
- %/mod
- -->
- <li>测试empty</li><br>
- value1:${empty value1 }<br>
- value2:${empty value2 }<br>
- value3:${empty value3 }<br>
- value4:${empty value4 }<br>
- value4:${!empty value4 }<br>
- <p>
- <li>测试html输出--self</li><br>
- html:${htmlValue}<br>
- <p>
- </body>
- </html>
第三步:显示出来的结果如下:
特别说明:本人转载文章纯为技术学习,总结经验,并无其他目的,若有他人继续转载,请链接原作者的地址,而不是本文的地址,以示对作者的尊重。最后对原作者的辛勤劳动表示感谢!