JAVA之JSTL的详细使用

JSTL学习:
         作用:
                 提高在JSP页面中逻辑代码是书写效率
          使用:
          1,JSTL的核心标签库(重点)
          2,JSTL的格式化标签库(讲解)
          3,JSTL的SQL标签库(了解)
          4,JSTL的函数标签库(了解)
          5,JSTL的XML标签库(了解)
      JSTL的核心标签库
                1,需要导入jar包
                2,声明JSTL标签的引入
                     <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
                3,内容:
                     <c:out value="数据" default="默认值" ></c:out>
                         数据可以是常量也可以是EL表达式
                     <c:set var="hello" value="hello application" scope=""></c:set>
                             作用:存储数据到作用域对象当中
                             var:键名
                             value:数值
                             scope:表示要存储的作用域对象
                     <c:remove var="hello" scope="request"/>
                                                                                      作用:删除作用域对象的值   
                             var:表示删除的键名
                             scope:表示指定删除作用域的名字:requset,session,page,application
                4,逻辑判断
                         <c:if test="${表达式}">
                                      前端代码
                         </c:if>
                                             作用:进行逻辑判断,相当等与JAVA的if语句
                                             注意:
                                             逻辑判断需要依赖于EL标签,也就是说表达式涉及到的数据必须从域中取
                         <c:choose>
                              <c:when test="表达式">
                                      前端代码
                               </c:when>
                               ....................
                         </c:choose>
                           作用:进行逻辑判断,相当等与JAVA的if...esle if语句
                5,循环标签
                   <!--常量循环  -->
                          <c:forEach begin="0" end="4" step="2">
                            循环体
                         </c:forEach>
                         begin:循环变量
                         end:循环的次数
                         step:i+几
                         varStatus="vs"
                               111--${vs.index}--${vs.count}--${vs.first}--${vs.last}
                   <!--对象循环  -->                                
                     <c:forEach items="${str}" var="s">
                         ${s}  
                     </c:forEach>
                     items:声明要遍历的对象,结合EL表达式
                     var:声明变量,记录每次变量的结果
                        
               

<%
 //request.setAttribute("hello", "hello request");

%>
<c:set var="hello" value="hello PageContext" scope="page"></c:set>
<c:set var="hello" value="hello request" scope="request"></c:set>
<c:set var="hello" value="hello session" scope="session"></c:set>
<c:set var="hello" value="hello application"></c:set>
<c:remove var="hello" scope="request" />
<c:out value="${hello}"></c:out>
</br>
<!-- JSTL的逻辑判断 -->
<!--传统方式  -->
<%
int a=5;
if(a>4){
%>
<b>我是逻辑判断的传统方式</b>
</br>
<%} %>
<!--JSTL方式的逻辑判断  -->
<c:set var="a" value="5"></c:set>
<c:if test="${a>4}">
	<b>我是JSTL的逻辑判断方式</b>
	</br>
</c:if>
<!--多分支选择结构  -->
<c:set var="soce" value="50"></c:set>
<c:choose>
	<c:when test="${soce>=90}">
		<i>你考的很好</i>
		</br>
	</c:when>
	<c:when test="${soce>=80&&soce<90}">
		<i>你考的不错</i>
		</br>
	</c:when>
	<c:when test="${soce>=70&&soce<80}">
		<i>你考的一般</i>
		</br>
	</c:when>
	<c:otherwise>
		<i>接受审判吧</i>
		</br>
	</c:otherwise>
</c:choose>
<!--JSTL循环  -->
<!-- 传统方式 -->
<%
   for(int i=0;i<3;i++){
%>
<i>我是传统循环方式</i>
</br>
<%} %>
<!--JSTL循环方式  -->
<!--常量循环  -->
<c:forEach begin="0" end="4" step="2" varStatus="vs">
	<i>我是JSTL循环方式</i>
	</br>
	111--${vs.index}--${vs.count}--${vs.first}--${vs.last}</br>
</c:forEach>
<!--对象循环  -->
<%
 ArrayList<String> list = new ArrayList<String>();
   list.add("a");
   list.add("b");
   list.add("c");
   request.setAttribute("str", list);
 HashMap<String,String> hs =new HashMap<String,String>();
   hs.put("a1", "哈哈");
   hs.put("a2", "嘿嘿");
   request.setAttribute("str2", hs);
%>
<!--List循环  -->
<c:forEach items="${str}" var="s">
     ${s}  
</c:forEach>
<!--Map循环 -->
<c:forEach items="${str2}" var="s">
     ${s.value}  
</c:forEach>
<table border="1px">
	<tr>
		<th>姓名</th>
		<th>年龄</th>
	</tr>
	<c:forEach items="${str}" var="s">
		<tr>
			<td>${s}</td>
			<td>${s}</td>
		</tr>
	</c:forEach>
</table>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值