乱七八糟记一下
/**
* forward和redirect的区别
* forward是服务器端的跳转:地址栏不发生变化
* redirect是客户端的跳转,地址栏发生变化
*/
(除了转发之外)request的作用域只在一次请求内有效。新的请求:request也是新的。
session注销的方法:1.session.invalidate();
session超时:
<session-config> <!-- session的超时时间以分钟为单位 .从产生到结束1分钟就消失--> <session-timeout>1</session-timeout> </session-config>
jstl的out和set
<% pageContext.setAttribute("pname", "shanxinxin"); %> <h1>JSTL核心库out和set</h1> <c:out value="${'shanxinxin' }"></c:out><br> <c:out value="${pname }"></c:out><br> <c:out value="${name }" default="unknow"></c:out><br> <c:out value="${'<font color=red>shanxinxin</font>' }" escapeXml="false"></c:out><br> <h2>set:默认情况下set所设置的变量是在当前域(pageContext)之中</h2> <c:set var="pname1" value="shanxinxin"></c:set>
<c:set var="pname2" value="shanxinxin" scope="request"></c:set>
<jsp:useBean id="person" class="com.rl.model.Person"></jsp:useBean> <c:set target="${person }" property="name" value="shanxinxin"></c:set> <c:set target="${person }" property="age" value="30"></c:set> <c:out value="${person }"></c:out>
jstl——if(if的test属性是boolean类型,如果test的判断为true,则执行if标签的内容)和choose
<h1>JSTL核心库if</h1> <c:set var="pname3" value="shanxinxin"></c:set> <c:if test="${not empty pname3 }"> <c:out value="${pname3 }"></c:out> </c:if> <h1>JSTL核心库choose</h1> <c:set var="score" value="58"></c:set> <c:choose> <c:when test="${score<60 }"> <c:out value="${'没有及格' }"></c:out> </c:when> <c:when test="${score>=60 && score<80 }"> <c:out value="${'及格' }"></c:out> </c:when> <c:otherwise> <c:out value="${'你学的很不错' }"></c:out> </c:otherwise> </c:choose>
jstl——forEach
<h1>JSTL标签forEach</h1> <h2>数值的遍历</h2> <c:forEach begin="1" end="10" var="i"> <c:out value="${i }"></c:out> </c:forEach> <hr> <h3>step指的是步长</h3> <c:forEach begin="1" end="10" var="i" step="2"> <c:out value="${i }"></c:out> </c:forEach> <br> <h2>数组的遍历</h2> <% String [] strArr = {"shanxinxin","zhengyihao","raoding"}; pageContext.setAttribute("arr", strArr); %> <c:forEach items="${arr }" var="st"> <c:out value="${st }"></c:out> </c:forEach> </body>
forEach的varStatus属性是“循环状态”的变量名。可以获取{current,index,count,first,last}几种状态。
current:当前这次迭代的项(不常用);
index:当前这次迭代从0开始的迭代索引;
count:当前这次迭代从1开始的迭代计数;
first:用来表明当前这轮迭代是第一次迭代的标志;
last:用来表明当前这轮迭代是最后一次迭代的标志;
<h2>forEach的varStatus</h2> <c:forEach items="${pList}" var="person" varStatus="status"> <%-- <c:out value="${status.current }"></c:out> current一般不会使用--%> <%-- <c:out value="${status.index }"></c:out> --%> <c:out value="${status.count }"></c:out> <c:if test="${status.first }"> <c:out value="${'是第一行' }"></c:out><br> </c:if> <c:if test="${status.last }"> <c:out value="${'是最后一行' }"></c:out> </c:if> <c:out value="${person }"></c:out><br> </c:forEach>