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} &nbsp; value: ${m.value}<br>
</c:forEach>

 

posted on 2022-10-15 22:29  201812  阅读(30)  评论(0编辑  收藏  举报