JSTL常用标签01
JSTL常用标签
注意:这些标签操作的都是域对象
一、条件动作标签
1.choose标签没有属性,choose标签中至少要包含一个when标签,可以没有otherwise标签
如果有otherwise标签,该otherwise标签只能放在最后。
choose标签中只能有when标签和otherwise标签,如果想要放if标签,只能放在when或者是otherwise标签里面
when标签只有一个test属性,otherwise标签也是只有一个属性
2. if 标签有test属性,var属性,scope属性(var用来接收结果的,scope是用来设置域范围的,如scope="request"等)
request.setAttribute("score",60); <c:if test="${score > 10 }" scope="request" var="flag"></c:if> <%--可以只要test属性,一般也是这么使用的--%>
<% request.setAttribute("score",66); %> <c:choose> <c:when test="${score>=60}"> <h2>及格</h2> </c:when> <c:when test="${score>=66}"> <h2>hahaha</h2> </c:when> <c:otherwise> <h2>OK</h2> </c:otherwise> </c:choose> <%--显示的结果为及格,虽然满足第二个when的条件但是也不会再显示出来了--%>
二、迭代标签:forEach标签
注意:在写 items="${}"的时候一定要注意写 ${} 不然会报错
如不能把 items="${map}" 写成 items="map"。
1. 循环对象
建立一个User.java
package com.xxxx.po; public class User { private Integer uid; private String uname; private String upwd; public User() { } public User(Integer uid, String uname, String upwd) { this.uid = uid; this.uname = uname; this.upwd = upwd; } public Integer getUid() { return uid; } public void setUid(Integer uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUpwd() { return upwd; } public void setUpwd(String upwd) { this.upwd = upwd; } }
建立一个01-JSTL.jsp
<% List<User> userList = new ArrayList<User>(); User user1 = new User(1,"zhangsan","123456"); User user2 = new User(2,"lisi","654321"); User user3 = new User(3,"zhaoliu","223344"); userList.add(user1); userList.add(user2); userList.add(user3); //将数据设置到作用域中 request.setAttribute("userList",userList); %> <%--先判断集合是否为空--%> <c:if test="${!empty userList}"> <table align="center" width="800" border="1"> <tr> <td>用户账号</td> <td>用户姓名</td> <td>用户密码</td> <td>用户操作</td> </tr> <c:forEach items="${userList}" var="user"> <tr align="center"> <td>${user.uid}</td> <td>${user.uname}</td> <td>${user.upwd}</td> <td><button>修改</button></td> </tr> </c:forEach> </table> </c:if>
2. map 循环
<%--循环map--%> <% //数据 Map<String,Object> map = new HashMap<>(); map.put("map1","aaa"); map.put("map2","bbb"); map.put("map3","ccc"); //设置作用域 request.setAttribute("map",map); %> <%--注意:一定要写${},不然报错--%> <c:forEach items="${map}" var="m"> key: ${m.key} value: ${m.value}<br> </c:forEach>