study Code 81day(jsp&el&jstl笔记)

目录

一、JSP笔记

1.绝对路径与相对路径

2.jsp标签

二  EL表达式

1.EL表达式简介

2.传统编码风格中,从域对象对取数据并输出

3.EL表达式完整版

4.EL表达式的域对象别名

5.EL表达式,将域对象中高级类型对象的属性读取并输出

6.EL表达式常见异常

7.EL表达式简化版

8.可以对EL表达式读取的数据,进行简单运算后,在输出

9.EL表达式其它内置对象

10.EL表达式缺陷

三 JSTL工具包

1.JSTL介绍

2.JSTL使用

3.jstl标签使用介绍


一、JSP笔记

1.绝对路径与相对路径

1.定义
绝对路径:以当前文件为起点,寻找其他文件的路径格式
相对路径:以根目录(WebContent)为起点,寻找其他文件的路径
在Web工程开发时,建议禁止使用【相对路径】
2.在jsp文件中设置绝对路径
 base标签要求当前网页中,禁止使用相对路径,只能使用绝对路径   
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" 
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

2.jsp标签

1. 脚本程序语法
    <%  代码片段  %>
2.指令程序语法
    <%@ page include  taglib%>
3.表达式语法
    <%= 变量%>
3.注释语法
    <%!不被执行的程序 %>

二  EL表达式

1.EL表达式简介

1.一组特殊工具类
2.EL表达式专门用于JSP文件
3.简单从域对象读取数据并输出的开发流程
4.EL表达式以来的工具包,存在tomcat的lib(el-api.jar),因此在开发的时候,不需要额外添加EL工具包

2.传统编码风格中,从域对象对取数据并输出

1.从域对象读取数据
2.将得到数据进行类型转换
3.将得到的数据推送

3.EL表达式完整版

 ${域对象别名.关键字}

4.EL表达式的域对象别名

JSP:application   session    request    pageContext
EL:applicationScope   sessionScope   requestScope   pageScope

5.EL表达式,将域对象中高级类型对象的属性读取并输出

${域对象别名.关键字.属性名}
****属性名需要按照驼峰写法

6.EL表达式常见异常

javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[empno]
没有找到属性
原因:
    1)可能指定属性,真的在类中没有声明
    2)如果发现指定属性,在类中已经声明了,说明这个属性没有声明对应的get方法

7.EL表达式简化版

1.格式:${关键字}
2.原理:EL表达式简化版在执行时
    首先会到pageContext--->request--->session--->application---->null
3.缺点:
    1)增加程序运行时间
        需要按顺序一步一步找关键字
    2)导致数据定位错误
        如果有同名属性,造成数据错误
4.适用场景:
    当我们从pageContext读取数据时,可以使用简化版

8.可以对EL表达式读取的数据,进行简单运算后,在输出

1.数字运算
2.关系运算: >  <  >= <= == !=
           gt ge lt le eq 
3.逻辑运算:&&   || !

9.EL表达式其它内置对象

1.param:读取请求对象包含的请求参数
    ${param.请求参数名}==request.getParameter("请求参数名")
2.initParam:读取全局作用域对象保存的共享数据(来自于web.xml)
    代替application.getInitParameter("参数")
    ${initParam.参数}
3.pageContext  ${pageContext.request.contextPath}

10.EL表达式缺陷

1.无法修改域对象中数据 session.setAttribute("key",1000)
2.没有提供语句判断(if...else if... else,for, while)导致EL表达式无法遍历集合

三 JSTL工具包

1.JSTL介绍

1.JSTL jsp标准标签库(sun)
2.JSTL包含(
    core核心工具包,jsp日常基本操作,域对象赋值,控制语句
    sql数据库工具包(不用)
    xml文件工具包(不用)
    format格式转换包
)

2.JSTL使用

1.导入jstl.jar;standrad.jar
2.在jsp,通过taglib指令导入jstl中core工具包依赖的配置文件
<@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

3.jstl标签使用介绍

1.:作用修改四大作用域对象内容
    属性:scope:操作的作用域对象(application,session,request,page)
        var:作用域对象关键字名称
        value:要保存的数据
        
        request.setAttribute("name","mike");
2.
        
                输出内容
        
3.:处理多分支判断
4.:循环输出

 

你可能感兴趣的:(笔记,Java学习)