zoukankan      html  css  js  c++  java
  • 如何将servlet中的变量在jsp页面中显示---jsp中的jstl表达式(C标签)

    jstl又称jsp的标准标签库:C标签*,fmt标签,fn标签,sql标签,xml标签,这里重点讲C标签

    目的:El和jstl都是为了在jsp中消灭Java代码

    注意:在<!DOCTYPE html >标签之上写
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    1.c:out标签
    作用:用来将作用域对象中的数据输出到页面中
    例:
    <%
    request.setAttribute("weather", "今天天气怎么样?");
    %>

    <c:out value="${weather}" default="出门自己看!"></c:out>

    即: value非空,执行value,value为空时,执行default,

    2.c:set标签
    作用一:用于将数据放入到作用域对象中,默认放入到最小的作用域中
    例一:
    <%
    request.setAttribute("weather", "今天天气怎么样?");
    %>

      <c:set var="name" value="zhangsan"></c:set>


    即:默认将数据放入到pageContext中,所以用${requestScope.name}无法获取到值

    例二:
    <%
    request.setAttribute("weather", "今天天气怎么样?");
    %>

    <c:set var="name" value="zhangsan" scope="request"></c:set>
    ${requestScope.name}


    利用 scope="request"设置最小作用域为request,则${requestScope.name}可获取其值

    作用二:c:set还可以在标签中间添加html代码作为标签value的属性值
    如例三:
    <c:set var="mytable">
    <%-- border-collapse:collapse 为设置边框收合--%>
    <table border="1" style="border-collapse:collapse ">
    <tr><td>1.1</td><td>1.2</td></tr>
    <tr><td>2.1</td><td>2.2</td></tr>
    </table>
    </c:set>

    可由${mytable}来获取内容

    3.c:remove标签
    作用:将指定key从指定作用域中删除,也可以通过scope属性指定作用域

    例如:
    <%
    pageContext.setAttribute("scope", "pageContext");
    request.setAttribute("scope", "request");
    session.setAttribute("scope", "session");
    application.setAttribute("scope", "application");
    %>

    <c:remove var="scope" />删除key为scope的作用域,即上面四个全被删除

    <c:remove var="scope" scope="page"/>只删除pageContext作用域,可由${scope}获取最小作用域内容


    4.c:if标签

    作用: 做一重判断
    例如:
    <%
    request.setAttribute("score", 80);
    %>


    <c:if test="${score >= 90}" var="flag">
    成绩优秀!
    </c:if>
    <c:if test="${!flag}">
    成绩不优秀!
    </c:if>

    当满足条件则执行相应的语句

    5.c:choose,c:when,c:otherwise组合标签
    作用: 可以表示多重判断

    例如:
    <%
    request.setAttribute("score", 80);
    %>

    <c:choose>
    <c:when test="${score >=90}">成绩优秀</c:when>
    <c:when test="${score >=80}">成绩良好</c:when>
    <c:when test="${score >=60}">成绩及格</c:when>
    <c:otherwise>成绩不及格</c:otherwise>
    </c:choose>

    当满足条件则执行相应的语句

    注意:1.c:otherwise不能出现在c:when之上
               2.c:otherwise和c:when之间,c:otherwise和c:otherwise之间不能出现其它字符

    6.c:forEach
    作用一:遍历数据


    例如 <c:forEach begin="1" end="10" step="2" var="num" varStatus="statu">
    ${num}---${statu.first}---${statu.last}---${statu.index}---${statu.count} <br/>
    </c:forEach>
    解析
    begin:遍历起始位置
    end:遍历的末尾位置
    step:每次遍历的步长,默认为1
    var:用于做遍历的变量
    varStatus:当前遍历的变量的状态

    statu.first:判断该数字是不是第一个
    statu.last:判读该数字是不是最后一个
    statu.index:表示当前数字的下标
    statu.count:表示当前第几次循环

    作用二:在items里填入一个可以遍历的结构

    例如:
    <%
    List list = new ArrayList();
    list.add(new User("zhangsan", "张三"));
    list.add(new User("lisi", "李四"));
    list.add(new User("wangwu", "王五"));
    list.add(new User("zhaoliu", "赵六"));

    request.setAttribute("person", list);

    %>


    <c:forEach items="${person}" var="p">
    ${p.username}---${p.realname}
    <br>
    </c:forEach>

    或更高级一点的

    <table border="1" style="border-collapse:collapse">
    <tr><td>用户名</td><td>真实姓名</td></tr>
    <c:forEach items="${person}" var="p">
    <tr><td>${p.username}</td><td>${p.realname}</td></tr>
    </c:forEach>
    </table>

    可遍历List中的内容


    7.c:import
    作用:将一个URL中的内容导入本页面中一起显示

    例如:<c:import url="http://www.baidu.com"></c:import>


    8.c:redirect
    作用:重定向

    例如:<c:redirect url="http://www.baidu.com"></c:redirect>

     

     

     

  • 相关阅读:
    【BZOJ2525】[Poi2011]Dynamite 二分+树形DP
    【BZOJ2560】串珠子 状压DP+容斥
    【BZOJ2726】[SDOI2012]任务安排 斜率优化+cdq分治
    [NOIP2017]宝藏 状压DP
    [NOIP2017]逛公园 最短路+拓扑排序+DP
    [NOIP2017]列队 离线+SBT
    【CF628D】Magic Numbers 数位DP
    【BZOJ2791】[Poi2012]Rendezvous 倍增
    sql 通过游标 拆分xml结构
    sql字符转换函数大全
  • 原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11238878.html
Copyright © 2011-2022 走看看