作用: - 获取JSP4个范围中的保存数据(page request session application) - 支持运算,包括逻辑运算和数字运算 - EL 表达式内置的11个对象
EL表达式可以代替jsp上的JAVA代码,使他简化并且方便修改
request.getSession().setAttritube("name",name);类似于这样子, pageScope {sessionScope} ${applicationScope} 分别用来输出依次类型的参数。
**此外** 也可以用来获取JAVAbean的对象 ``` JAVA public class person{ private String name; private int age; public void setName(void name){this.name=name;} ..... } 然后在servlet中把对象放入session request.getSession().setAttritube("person",person); <div class="se-preview-section-delimiter"></div> ${requestScope.person.name} 这相当于一个点调用一个get方法 也可以用&{requestScope["person"]["name"]}注释:[]和丶的差别在于[]可以调用一些比较特殊的字符
request.getSession().setAttritube("1",person);此时,如果你调用 requestScope.1就很有可能会识别不出来,就要用 {requestScope[“1”]}来获取
首先要在jsp中引入
<%@ taglib uri="http:java.sun.com/jsp/jstl/core" prefix="c" %">1.用于将内容输出到页面,包括EL表达式 2.可以设置默认值 3.可以将html代码进行转义输出
1.用于将内容输出到页面,包括EL表达式 2.可以设置默认值 3.可以将html代码进行转义输出
1.设置已存在的对象的属性 2.可以将数据保存到jsp的四种变量类型中
1.设置已存在的对象的属性 2.可以将数据保存到jsp的四种变量类型中
将对象中设置的属性移除
<% people s=new people(); s.setName("王五"); request.setAttritube("people",s); %> <c:remove var="name" scope="request"/></c:remove> 等价于 <% request.removeAttritube("people"); %>代替普通java中的try catch 代码
代替普通java中的try catch 代码
< !-- 异常被捕获,捕获后将异常保存到page范围的e2中--> <c:catch var="e2"> <% int a=1/0; %> </c:catch> <!--可以在此处打印出捕获到的错误--> ${e2.message}上面的代码就类似于
try{ int a=1/0; }catch(Exception e){ System.out.println("捕获到异常"); }用来代替java的if判断
<c:set var="n" value="10" scope="page"/></c:set> <!-- 将判断的结果保存到pageContext范围内的result中--> <c:if text="${n>8}" var="result" scope="page"> n的值大于8 </c:if> ${result} < !--结果是 true--> <c:if text="${not (n>8)}"> n的值小于8 </c:if>注意,没有< c:else >这个方法
可以构成java中的if、else if、switch的语法结构 jsp <c:set var="n" value="3" scope="page"/></c:Set> <c:choose> <c:when text="${pageScope.n==3}"> Hello </c:when> <c:when text="${pageScope.n==7}"> World </c:when> <c:otherwise> Hello world! </c:otherwise> </c:choose>
可以遍历数组,List和Map等 jsp <% request.setAttertube("Num",new int[]{1,2,3,4,5});%> <c:forEach item="${Num}" var="i"> <!-- item代表每次遍历的元素 ,并将它保存到page范围的i中--> ${i} </c:forEach> List和数组的遍历方式相同,Map遍历也大概一致,只是输出内容时要声明输出键还是值,,如下 jsp ${ i.key} ${ i.value}
< c:forEach begin="1" end="100" step="2" var="i" varStatus="status" > ${status.index} <!--通过status得到当前循环到第几--> < /c:forEach>对于EL和JSTL表达式,这里只是简单的介绍了一些,后续应该还会再完善。第一次写博客,不好的望各位大牛指出!!
