el表达式的使用
的有关信息介绍如下:lJSP中嵌套的大量Java代码增加了页面内容的复杂度,使得页面不够简洁,不方便代码的维护
lApache组织开发的一套标签库被Sun公司整合后,称为标准标签库(JSP Standard Tag Library即JSTL),配合EL表达式,以达到减轻JSP文件的复杂度、方便维护JSP文件的目的
lEL表达式是一套简单的计算规则,用于给JSP标签的属性赋值,也可以直接用来输出。 l表达式也可以脱离标签单独使用
1.访问bean对象的属性方式一:${对象名.属性名}例如:${user.name}执行过程:容器会依次从pageContext(页面上下文),request(一次请求期间),session(会话期间)application(整个应用期间)查找绑定名为“user”的对象,找到后,调用“getName”方法,然后输出内容
注:el表达式如果获取不到绑定名,对于null值,会转换成""输出,属性名不能写错,否则会出错;在el表达式中。我们也可以指定查找范围,例如:pageScope、requestScope、sessionScope、applicationScope等等范围方式二:${对象名["属性名"]} 例如:${User["name"]}
进行一些简单的计算,计算结果可以用来给jsp标签的属性赋值,也可以直接输出1.算数运算 + - * /+只能求和,不能字符串拼接2.关系运算 > >= < <= == != (js: ===全等于{数值,类型一致})3.逻辑运算 && || !4.empty运算:判断摸个集合或者字符串是否为空
<%User user = new User();user.setAge(23);user.setName("Tom");request.setAttribute("aa", user);%>
通过java代码1:<% User u = (User)request.getAttribute("aa");out.println(u.getName());%>
通过java代码2:<%=u.getName() %>
通过El表达式:${aa.name}
<% String msg="age";session.setAttribute("msg", msg);%>
方式:${SessionScope.aa.name}方式二:${b["name"]} ${b["name"] }方式二:${sessionScope.aa.name} 方式二:${b[msg]}