一、概述
EL表达式是在JSTL1.0规范中引入进来,是从JavaScript脚本语言中得到启发,借鉴了JavaScript多类型转换无关性特点。在MVC体现中JSP页面用来显示数据,但JSP脚本中表达式不够强大,不能对隐式中的某对象的属性进行显示,必须配合Scriptlet代码段才能显示数据,如果在JSP中使用EL表达式将简化JSP页面中的Java代码,易于维护。
二、EL表达式使用
1、语法
${expression}
2、使用点号标记法访问JavaBean中的属性
语法:
${mybean.accName}示例:
<body> <% UserEntity user = new UserEntity(); user.setUid(1001); user.setName("胡歌"); user.setSex("男"); user.setAge(21); //将javabean中设置的数据保存到request中,然后通过user.获取属性 request.setAttribute("user", user); %> 使用El表达式访问javabean中的对象: <br> 编号:${user.uid} <br> 姓名:${user.name} <br> 性别:${user.sex} <br> 年龄:${user.age} </body>3、EL隐式对象
<form action="show.jsp" method="post"> 姓名:<input type="text" name="sname" /> <br> 性别:<input type="text" name="usex" /> <br> 年龄:<input type="text" name="uage" /> <br> <input type="submit" value="提交" /> </form>
<body> <br> 姓名:${param.nnn} <br> 性别:${param.usex} <br> 年龄:${param.uage } </body>
3.2.访问request.session.application作用域对象
将用户信息分别保存request.session.application作用域对象,通过使用requserScope、ssesionScope、applicationScope中的El隐式对象取出用户数据并显示;
<span style="font-size:14px;">// 获取用户姓名并转码 String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf-8");; // 获取帐号 String username = new String(request.getParameter("username").getBytes("ISO-8859-1"), "utf-8"); // 获取密码 String password = request.getParameter("password"); // 获取家庭住址 String address = request.getParameter("address"); // 获取联系方式 String iphone =request.getParameter("iphone"); // 将获取的用户姓名保存到request对象中 request.setAttribute("name", name); // 将获取的账号与密码保存到session中 HttpSession session = request.getSession(); session.setAttribute("username", username); session.setAttribute("password", password); //将获取用户的家庭住址与联系方式保存在application对象中 ServletContext application=getServletContext(); application.setAttribute("address", address); application.setAttribute("iphone", iphone);</span></span>
使用El表达式获取用户信息并显示在JSP页面当中: 使用EL表达式获取request对象中的数据:${requestScope.name}<br> 使用EL表达式获取session对象中的数据:${sessionScope.username}<br> 使用EL表达式获取request对象中的数据:${applicationScope.iphone}<br>