登录 or

JSTL标签库

JSTL标签库
1.JSTL:帮助我们在jsp页面中添加复杂的逻辑判断,避免逻辑代码和页面标签混为一谈
JSTL是EL表达式的扩展,同时JSTL依赖于EL,为了方便的从作用域中获取值
导包jsp.jar和servlet.jar
在WEB-INF下新建lib文件并导包jstl.jar和standard.jar和standard
 
http://java.sun.com/jsp/jstl/core报红解决方案
idea--settings--languages & frameworks - schemas and dtds 右边+ http://java.sun.com/jsp/jstl/core
目录选择jakarta-taglibs-standard-1.1.2\tld\c.tld
 
2.标签分类:(五大类)
核心标签库:必须掌握
格式化标签库
函数标签库:
XML标签库:
SQL标签库:
 
3.标签学习
<body>
<%--<%--%>
    <%--request.setAttribute("str","hungry");--%>
    <%--request.setAttribute("hello","world");--%>
 
<%--%>--%>
    <c:out value="有点困,要坚持"></c:out><br>
    <%--<c:out value="${str2}" default="饿了"></c:out><br>--%>
    <%--<c:out value="${hello}"></c:out><br>--%>
<%--jstl标签代替java代码,向作用域设置属性值--%>
    <c:set var="java" value="pageContext" scope="page"></c:set>
    <c:set var="java" value="request" scope="request"></c:set>
    <c:set var="java" value="session" scope="session"></c:set>
    <c:set var="java" value="application" scope="application"></c:set>
<%--获取属性值--%>
    <c:out value="${java}"></c:out><br>
    <c:out value="${requestScope.java}"></c:out><br>
    <c:out value="${sessionScope.java}"></c:out><br>
    <c:out value="${applicationScope.java}"></c:out><br>
 
<%--删除属性,删除作用域中的数据--%>
    <c:remove var="java" scope="page"></c:remove>
<%--注意,如果没有指定scope属性,那么默认会把所有作用域中的参数都删除--%>
    <c:out value="${java}"></c:out><br>
    <c:out value="${requestScope.java}"></c:out><br>
    <c:out value="${sessionScope.java}"></c:out><br>
    <c:out value="${applicationScope.java}"></c:out><br>
<%--逻辑判断标签--%>
<%
    int i = 10;
    if(i>5){
%>
    jstl is easy
<%}%>
 
<br>
<%--jstl标签改写逻辑判断--%>
<c:set var="a" value="10"></c:set>
<c:if test="${a>5}">
    <h1>jstl is easy</h1>
</c:if>
 
<c:set var="age" value="22"></c:set>
<c:choose>
    <c:when test="${age<10}">
        <h1>小孩</h1>
    </c:when>
    <c:when test="${age<20}">
        <h1>少年</h1>
    </c:when>
    <c:when test="${age<30}">
        <h1>青年</h1>
    </c:when>
    <c:when test="${age<40}">
        <h1>中年</h1>
    </c:when>
    <c:otherwise>
        <h1>老年</h1>
    </c:otherwise>
</c:choose>
 
<%--循环标签--%>
<table border="1px">
    <tr>
        <td>1</td>
        <td>111</td>
    </tr>
    <tr>
        <td>2</td>
        <td>222</td>
    </tr>
    <tr>
        <td>3</td>
        <td>333</td>
    </tr>
</table>
 
<c:forEach begin="0" end="3" step="1" varStatus="sta">
    ${sta.index}------${sta.count}------${sta.first}-----${sta.last}<br>
</c:forEach>
 
 
<%
    ArrayList<String> list = new ArrayList<String>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    request.setAttribute("list",list);
 
    HashMap<String,String> map = new HashMap<String, String>();
    map.put("1","111");
    map.put("2","222");
    map.put("3","333");
    map.put("4","444");
    map.put("5","555");
 
    request.setAttribute("map",map);
 
%>
<c:forEach begin="0" end="3" step="1" varStatus="sta" var="i" items="${list}">
    ${i}
</c:forEach>
<br>
 
<table border="1px">
<c:forEach begin="0" end="2" step="1" var="i" items="${map}">
    <tr>
        <td>${i.key}</td>
        <td>${i.value}</td>
    </tr>
</c:forEach>
</table>
 
<hr>
<h3>数字格式化:</h3>
<c:set var="balance" value="120000.2309" />
<p>格式化数字 (1): <fmt:formatNumber value="${balance}"
                                type="currency"/></p>
<p>格式化数字 (2): <fmt:formatNumber type="number"
                                maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (3): <fmt:formatNumber type="number"
                                maxFractionDigits="3" value="${balance}" /></p>
<p>格式化数字 (4): <fmt:formatNumber type="number"
                                groupingUsed="false" value="${balance}" /></p>
<p>格式化数字 (5): <fmt:formatNumber type="percent"
                                maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (6): <fmt:formatNumber type="percent"
                                minFractionDigits="10" value="${balance}" /></p>
<p>格式化数字 (7): <fmt:formatNumber type="percent"
                                maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (8): <fmt:formatNumber type="number"
                                pattern="###.###E0" value="${balance}" /></p>
<p>美元 :
    <fmt:setLocale value="en_US"/>
    <fmt:formatNumber value="${balance}" type="currency"/></p>
 
</body>
 
 
条件判断
 
循环标签
 
begin:起始值
end:结束值
step:步长
varStatus:循环状态的变量值名称
var:集合数据的每条记录的迭代值
items:从作用域中获取的数据
学习jstl网址:
https://www.runoob.com/jsp/jsp-jstl.html

0 个评论

要回复文章请先登录注册