EL,JSTL表达式

EL 全称 Expression Language ,是一种借鉴了 JS 和 XPath 的表达式语言,它定义了一系列隐含对象和操
作符,开发人员能方便的访问页面的上下文, 以及不同作用域的对象,无需嵌入 java 代码,即使开发人员
不懂 java 代码,也能轻松编写 JSP 程序。

 

EL 表达式的语法:${表达式}

 

他有四大作用域:pageScope,requestScope,sessionScope,applicationScope对应着JSP的四大作用域。

使用例子:request.setAttribute("Student",stu);当使用 EL 表达式访问某个属性值时候,应该指定查找范围,
如${requestScope.Student}如果不指定查找范围,会按照 page->request->session->application 的顺序
查找

注意:必须将对象保存在作用域中,才可以用 EL 表达式访问对象。

比如说你在后台保存了一个session,在前台想去session的值。request.getSession().setAttribute("user_session", login);

然后去JSP页面去取${user_session.name }

除了去对象,还可以存集合等。

 

  1. <%  
  2.     Map map = new HashMap();  
  3.     map.put("a", new Person("aaa"));  
  4.     map.put("b", new Person("bbb"));  
  5.     map.put("1", new Person("ccc"));  
  6.     request.setAttribute("map", map);  
  7. %>  
  8. ${map['1'].name }<!-- 是数字的话只能用括号,就算put进去的key值是字符串类型-->  
  9. ${map.a.name }  

JSTL 全称 java server pages Standard Tag Library JSP 标准标签库,它包含了我们在开发 JSP 页面经常

用到的一组标准标签。

它里面有许多标签,我常用的就说JSTL标签。语法如下:

<c:forEach var="变量名" items="被迭代的集合对象" varStatus="statu" begin="" end="" step="1">
</c:forEach>
其中,用 statu.index 获得等同 for 的循环变量 i 一样。
var 是 对当前成员的引用
beigin 表示开始位置 默认为 0 。 可省略
end 表示结束位置,可省略
step 表示步长,默认为 1,可以省略。

通过 begin 和 end 指定循环次数

比如SSM框架中,我在模型中保存集合model.addAttribute("infoList",infoList);   然后在JSP页面中就可以直接循环这个集合了。先在顶部加一个声明<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>,需要导入jstl.jarstandard.jar两个jar包。然后就可以使用c标签了。还可以跟EL结合使用。

EL,JSTL表达式

除了这些c标签还有其他的标签,有需要的可以自己去了解下

EL,JSTL表达式

本文涉及到的一些知识层面比较浅,还比不上各位大牛,不喜勿喷。只是想做个笔记方便自己日后看,也是一种分享。欢迎大牛们指出错误的地方。