• 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>
  • 相关阅读:
    图片自适应浏览器窗口宽度——就是响应式图片等比缩放效果
    iconfont.cn阿里巴巴矢量图下载字体图标实战
    layer.layui.com 一个不错的弹窗层js插件库
    自定义浏览器滚动条的样式,打造属于你的滚动条风格——兼容IE和webkit(ff不支持)
    css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版
    css3实战版的点击列表项产生水波纹动画
    一个简单版的波纹css3动画
    CSS3动画效果——js调用css动画属性并回调处理详解
    CSS3 :target伪类实现Tab切换效果 BY commy
    css :active伪类的理解
  • 原文地址:https://www.cnblogs.com/linding/p/13597083.html
Copyright © 2020-2023  润新知