JSP域对象&EL表达式&JSTL
一、jsp内置对象和域对象
- pageContext:属性的作用范围权限当前的jsp页面(范围最小)
- request:属性的作用范围仅限同一个请求(转发有效)
- session:属性的作用范围仅限于一次会话,浏览器的打开和关闭之间称为一次会话(在此期间会话不会失效,只要不关闭会话一直在)
- application:属性的作用范围仅限于当前web应用(范围最大)
二、域的使用
pageContext.setAttribute("aa", "小朱");
request.setAttribute("aa", "中朱");
session.setAttribute("aa", "大朱");
application.setAttribute("aa", "老朱");
三、取值
<h3>使用jsp表达式取值</h3>
取值如下:<br>
1.<%=pageContext.getAttribute("aa")%><br>
2.<%=request.getAttribute("aa")%><br>
3.<%=session.getAttribute("aa")%><br>
4.<%=application.getAttribute("aa")%>
四、EL表达式
<h2>二、EL表达式</h2>
<h3>使用EL表达式取域对象的值</h3>
1.${pageScope.aa }<br>
2.${requestScope.aa }<br>
3.${sessionScope.aa }<br>
4.${applicationScope.aa }
<h3>EL运算符</h3>
${1+2 }____${1>2 }____${3==5 }____${empty myls }
<h3>使用EL表达式取对象的值</h3>
${对象 }
五、JSTL
在使用JSTL时需要导jar包 jstl.jar的标签库
<!-- 引入标签库 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<h2>三、JSTL(jsp标准标签库)</h2>
<h3>通用标签:set out remove</h3>
<c:set var="sb" value="${665+1 } " scope="session"></c:set>
<c:out value="${sb }"></c:out>
移除前:${sb }<br>
<c:remove var="sb" scope="request"/>
移除后:${sb }
<h3>条件标签:if</h3>
<c:if test="${empty myls}">
就是这么6
</c:if>
<h3>跟下一个界面有关:没有登录显示表单 登录了欢迎某某某</h3>
<c:if test="${not empty uname}">
欢迎${unaem}!
</c:if>
<c:if test="${empty uname }">
<form action="index.jsp" method="post">
用户名:<input type="text" name="iname"><br>
密码:<input type="password" name="ipwd"><br>
<input type="submit" value="登录">
<input type="reset" value="清空">
</form>
</c:if>
<h3>迭代标签:foreach</h3>
打印1-10<br>
<c:forEach var="i" begin="1" end="10" step="2">
${i }
</c:forEach>
遍历集合:<br>
<c:forEach items="${myls}" var="g">
${g.gname }
</c:forEach>
<c:forEach items="aa,bb,cc,dd" delims="," var="a">
${a}
</c:forEach>