EL表达式语言

来源:互联网 发布:bioeffect蓓欧菲 知乎 编辑:程序博客网 时间:2024/05/22 22:12

一、概述
  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隐式对象
3.1.使用请求参数param访问EL隐式对象并显示在JSP页面上

<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>

 







0 0