ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## core ~~~ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ~~~ ### c:if ~~~ <% int i = 3; request.setAttribute("i", i); %> <% if (i > 4) { %> <h3>正确的</h3> <% } else { %> <h3>错误的</h3> <% } %> //jstl 的写法,比原生的写法简便很多,但是需要注意的是test里面的内容必须是el表达式 <c:if test="${i > 4}" var="flag" scope="request"> //可以将计算结果放到var中,它会放到最小域中.如果指定了scope就可以选择将结果放到哪个域中. 但是这两个基本用不到. <h3>正确的</h3> </c:if> <c:if test="${i < 4}" var="flag"> <h3>错误的</h3> </c:if> ${flag} ~~~ ### c:foreach 基础用法 ~~~ <c:forEach begin="1" end="10" step="1" var="i"> ${i} </c:forEach> <c:forEach begin="1" end="20" step="1" var="i"> ${i} </c:forEach> ~~~ 高级用法 ~~~ <% List<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); request.setAttribute("list", list); Map<String, String> map = new HashMap<>(); map.put("name", "jack"); map.put("age", "20"); request.setAttribute("map", map); %> <c:forEach items="${list}" var="l" varStatus="vs"> ${vs.count} //从1开始 ${vs.index} //索引,从0开始 ${l} </c:forEach> <hr> <c:forEach items="${map}" var="m"> ${m.key} ${m.value} </c:forEach> ~~~ 商品案例 ~~~ <table border="1"> <tr> <td>id</td> <td>名称</td> <td>价格</td> <td>描述</td> </tr> <c:if test="${empty(list)}"> <tr> <td colspan="4">商品不存在</td> </tr> </c:if> <c:if test="${!empty(list)}"> <c:forEach items="${list}" var="l"> <tr> <td>${l.id}</td> <td>${l.pname}</td> <td>${l.price}</td> <td>${l.pdesc}</td> </tr> </c:forEach> </c:if> </table> ~~~ ## fmt 不用了 ## sql 不用了 ## xml 不用了 ## function 不用了