• JSP、EL和JSTL


    一、JSP

    <%--
    1、指令
        格式:<%@ 指令 属性名="属性值"... %>
        分类:
            page:
                contentType="text/html;charset=UTF-8":设置浏览器解码方式
                import="":导包
                errorPage="":jsp发生异常的跳转页面(重定向路径)
                isErrorPage="":属性值true:可使用内置对象exception;false:不能使用内置对象exception
                language="java":编程语言
                pageEncoding="utf-8":设置编码方式
                buffer="8kb":设置字符流缓冲大小
            include:
                file="":包含的jsp文件
            taglib:一般用于导入标签库
                prefix="":定义前缀
                uri="":标签库描述文件
    2、内置对象
        对象              正式类型                 作用
        pageContext      PageContext            当前页面共享数据,还可以获取其他八个内置对象
        request          HttpServletRequest     一次请求访问的多个资源(转发)
        session          HttpSession            一次会话的多个请求间
        application      ServletContext         所有用户间共享数据
        response         HttpServletResponse    响应对象
        page             Object                 当前页面(Servlet)的对象 this
        out              JspWriter              输出对象,数据输出到页面上
        config           ServletConfig          Servlet的配置对象
        exception        Throwable              异常对象
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%--使用jstl标签,需引入jstl、taglibs-standard-impl、jstl-api和jstl-impl的jar包--%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>jsp</title>
    </head>
    <body>
    <form action="second" method="post">
        用户名:<input type="text" name="username"><br/>
        密码:<input type="text" name="password"><br/>
        <input type="submit" value="提交">
    </form>
    <%@ include file="other.jsp" %>
    <%="这里的内容可以直接显示到页面上"%>
    </body>
    </html>

    二、EL

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <div>include指令jsp</div>
    <%--
    1、格式:${}
        忽略所有el表达式:page指令中设置isELIgnored="true"
        忽略单个el表达式:${}
    2、用法:可以在el表达式中做运算
        empty:用于判断字符串、集合、数组对象是否为null并且长度是否为0
            用法:${empty list}
    --%>
    ${1+1}
    ${1==1}
    </body>
    </html>

    三、JSTL

    <%@ page import="java.util.ArrayList" %>
    <%@ page import="java.util.List" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>jstl</title>
    </head>
    <body>
    <%--
    1、常用标签
        1if:相当于java代码的if语句
            注意:test为必须属性,属性值会结合el表达式一起使用
            用法:<c:if test="${true}"></c:if>
        2、choose:相当于java代码的switch语句
            用法:
                <c:choose>
                    <c:when test="${chooselabel<0}">负数</c:when>
                    <c:when test="${chooselabel>0}">正数</c:when>
                    <c:otherwise>0</c:otherwise>
                </c:choose>
        3foreach:相当于java代码的for语句
            1、完成重复的操作
                for(int i=0;i<10;i++){
                }
                * 属性:
                    begin:开始值
                    end:结束值
                    var:临时变量
                    step:步长
                    varStatus:循环状态对象
                        index:在完成重复的操作中,该值与var相同
                        count:循环次数,从1开始
            2、遍历容器
                for(Object objs:obj){
                }
                * 属性:
                    items:容器对象
                    var:容器中元素的临时变量
                    varStatus:循环状态对象
                        index:容器中元素的索引,从0开始
                        count:循环次数,从1开始
    --%>
    <%
        List<String> foreachlabel = new ArrayList<>();
        foreachlabel.add("孟美岐");
        foreachlabel.add("黄婷婷");
        foreachlabel.add("鞠婧祎");
        request.setAttribute("iflabel", "iflabel");
        request.setAttribute("chooselabel", 1);
        request.setAttribute("foreachlabel", foreachlabel);
    %>
    <c:if test="${not empty iflabel}">${iflabel}</c:if>
    <hr/>
    <c:choose>
        <c:when test="${chooselabel<0}">负数</c:when>
        <c:when test="${chooselabel>0}">正数</c:when>
        <c:otherwise>0</c:otherwise>
    </c:choose>
    <hr/>
    <c:forEach begin="1" end="10" var="i" step="2" varStatus="s">
        ${i} ${s.index} ${s.count}<br/>
    </c:forEach>
    <hr/>
    <c:forEach items="${foreachlabel}" var="i" varStatus="s">
        ${i} ${s.index} ${s.count}<br/>
    </c:forEach>
    </body>
    </html>
  • 相关阅读:
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十一章 PS端UART读写控制
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十章 PS端RTC中断实验
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十九章Hello World(下)
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十八章Hello World(上)
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十七章 Vitis准备工程及注意事项
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十六章 7寸液晶屏显示实验
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十五章 HDMI字符显示实验
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十四章 HDMI输出实验
    2014-10 u-boot 顶层config.mk分析
    2014-10 u-boot make过程分析
  • 原文地址:https://www.cnblogs.com/linding/p/13597083.html
Copyright © 2020-2023  润新知