• Jsp


    Jsp

    Sun公司研发的动态生成html页面的一种技术

    Jsp 是java与html的结合体

    可以在任意系统上运行

    担任显示层角色

    JSP本质就是Servlet

    语法

    1. 注释(客户端看不到)
    <%-- xxx --%>
    
    2.声明
    
    <%! java代码 %>    #定义方法和成员变量
    
    3.脚本
    
    <% java代码 %>    #定义局部变量和执行语句
    
    4.表达式
    
    <%=2%>  # 用于输出变量
    
    5.指令
    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    isErrorPage="" 
    errorPage =''
    import=""
    errorPage="error.jsp"  # 文件名
    
    6.动作
    
    usebean设置实体类 <jsp:useBean id="o1" scope="session" class="com.x" ></jsp:useBean>
    # scope为域对象范围(四大域对象)
    
    
    getproperty   
    setproperty
    forward 转发     
    include  包括  <jsp:include page="xxxx.jsp"></jsp:include>
    <jsp: xxx>  xxx是userbean include
    
    
    <%out.write(xxxx)%>
    
    
    

    image-20200328181737115

    image-20200328181907345

    image-20200328181922202

    九大内置对象和四大作用域

    九大内置对象

    • out.write('xxxx')

    • pageContext 获得其他八大对象

    • request 请求参数

    • response

      跳转页面 响应页面数据

    • Session

      会话技术 域对象

    • application(servletContext)

      上下文对象 : 取绝对路径 全局参数 域对象

    • exception 异常

    • page : 代指当前jsp页面,相当于javathis的引用

    • config : servletConfig 获取servlet配置的参数

    四大作用域

    • servletContext

      整个过程(整个项目下jsp和servlet都可以获取)

    • session

      一次会话(多页面)

    • request

      一次请求(多页面==》 转发)

    • pageContext

      当前jsp页面

    EL表达式 JSTL

    Expression Language

    EL会自动搜索4个作用域 ${username}

    Jsp Standard Tag Library Jsp标准标签库,提供额外标签 。

    其目是 要使用类似于html标签的格式 来完成对页面的流程控制 (还是为了减少java代码)

    基本语法

    ${1+1}
    ${requestScope.username}
    ${sessionScope.username}
    ${10 - 3}
    ${true && true}
    ${sessionScope.username == tom}
    ${!empty sessionScope.age}
    ${param.password}       #?password=1231  ==> 1231
    <%--EL会自动搜索4个作用域 --%>
    ${username}
    
    • for 循环
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <c:forEach items="${requestScope.list}" var="name">
         <tr>
              <td>${name}</td>
         </tr>
    </c:forEach>
    
    
    
    
    <%--循环遍历(常用)--%>
    <c:forEach items="1,2" var="temp" varStatus="vt">
        <spa>遍历的值${temp}</spa>
        <span>循环索引${vt.index}</span>
        <span>循环次数${vt.count}</span>
        <span>当前的值${vt.current}</span>
        <span>是否是第一个${vt.first}</span>
        <br/>
    </c:forEach>
    
    • if
    <c:if test="fasle">
        <h1>判断通过了</h1>
    </c:if>
    
    
    <c:if test="${empty myname}">
        <h1>myname是空的</h1>
    </c:if>
    <c:if test="${!empty myname}">
        <h1>myname不是空的</h1>
    </c:if>
    
    
    
    
    <%--选择结构--%>
    <c:choose>
        <c:when test="true">
            when1
        </c:when>
        <c:otherwise>
            其他的
        </c:otherwise>
    </c:choose>
    
    
    
    • 分页逻辑
    <%--判断用户是否传递了page参数--%>
        <c:if test="${param.page == null}">
            <c:set var="page" value="1" scope="request"/>
        </c:if>
    
    
        <c:if test="${param.page != null}">
            <c:set var="page" value="${param.page}" scope="request"/>
        </c:if>
    
    
    
    
        当前是:${page}
    <%--根据与当前页面 判断是否要显示按钮--%>
        <c:if test="${page > 1}">
            <a href="pagetest.jsp?page=${page-1}">上一页</a>
        </c:if>
    
    
        <c:if test="${page < 5}">
            <a href="pagetest.jsp?page=${page+1}">下一页</a>
        </c:if>
    
    
    
  • 相关阅读:
    线程之Thread
    如何通过HTTP优雅调用第三方-Feign
    Spring AOP核心源码
    Spring-beans之BeanFactory初始化
    spring-core源码走读
    power of two
    排序算法(二)两种选择排序
    排序算法(一)四种冒泡排序
    约瑟夫问题
    我理解的CLH
  • 原文地址:https://www.cnblogs.com/tangshuo/p/12744344.html
Copyright © 2020-2023  润新知