JavaWeb——Day06_2

*4.EL1_获取数据

jsp标签:

l标签 
l标签 
l标签  
JavaWeb——Day06_2_第1张图片

 

JavaWeb——Day06_2_第2张图片

JavaWeb——Day06_2_第3张图片JavaWeb——Day06_2_第4张图片JavaWeb——Day06_2_第5张图片


EL表达式:

JavaWeb——Day06_2_第6张图片JavaWeb——Day06_2_第7张图片JavaWeb——Day06_2_第8张图片JavaWeb——Day06_2_第9张图片JavaWeb——Day06_2_第10张图片


2.EL表达式:最初出现的目的是用来取代jsp页面中的jsp脚本表达式.但是随着el的发展el的功能已经不限于此了
    ${el表达式}
    
    (1)获取数据:
        使用中括号的地方都可以使用点号替代,除了中括号中是数字或者中括号中包含特殊字符(-.)的情况除外
        在中括号中如果不用双引号引起来则是变量,先找变量的值再拿变量的值使用.如果用双引号则是常量,直接使用常量的值
    
      ~获取常量
        字符串/数字/布尔类型,直接写在el表达式中,el直接进行输出
      ~获取域中的变量
        如果el中写的是一个变量的名,则el会调用pageContext的findAttribute方法,在四大作用域中以给定的名字找对应的属性值,找到后进行输出,如果四个域中都找不到,什么都不输出

JavaWeb——Day06_2_第11张图片JavaWeb——Day06_2_第12张图片JavaWeb——Day06_2_第13张图片JavaWeb——Day06_2_第14张图片JavaWeb——Day06_2_第15张图片JavaWeb——Day06_2_第16张图片JavaWeb——Day06_2_第17张图片JavaWeb——Day06_2_第18张图片JavaWeb——Day06_2_第19张图片JavaWeb——Day06_2_第20张图片




*5.EL2_执行运算_获取常用开发对象


(3)获取常用开发对象:el中内置了11个内置对象,这些对象el内置的,不需要提前定义就可以直接在el中使用
        !pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象
        
        !pageScope -- page域中属性组成的Map
        !requestScope -- request域中属性组成的Map
        !sessionScope -- session域中属性组成的Map
        !applicationScope --application域中属性组成的Map
        
        !param -- 所有请求参数组成的Map
        paramValues -- 所有请求参数组成的Map
        
        header -- 所有请求头组成的Map
        headerValues -- 所有请求头组成的Map
        
        !cookie -- 所有cookie信息组成的Map
        
        initParam -- 所有web应用的初始化参数组成Map



*6.EL3_获取常用开发对象_调用java方法

 (4)调用java方法: -- 不需要大家自己会写调用方法的过程,只要会调用别人写好的标签库就可以了 fn标签库
           ~写一个类其中包含要被el调用的方法,这个方法必须是静态的方法
           ~写一个tld文件在其中对要被调用的静态方法进行一下描述
           ~在jsp页面中taglib指令将tld文件引入当前jsp页面,从而在jsp页面中就可以调用描述好的方法  


JavaWeb——Day06_2_第21张图片JavaWeb——Day06_2_第22张图片JavaWeb——Day06_2_第23张图片JavaWeb——Day06_2_第24张图片JavaWeb——Day06_2_第25张图片JavaWeb——Day06_2_第26张图片JavaWeb——Day06_2_第27张图片


JavaWeb——Day06_2_第28张图片



上面的方法太复杂了。。。。。

JavaWeb——Day06_2_第29张图片JavaWeb——Day06_2_第30张图片JavaWeb——Day06_2_第31张图片JavaWeb——Day06_2_第32张图片


*7.JSTL_cout_cset_cremove_ccatch

JavaWeb——Day06_2_第33张图片

out:

JavaWeb——Day06_2_第34张图片JavaWeb——Day06_2_第35张图片JavaWeb——Day06_2_第36张图片JavaWeb——Day06_2_第37张图片JavaWeb——Day06_2_第38张图片


c:set标签:

JavaWeb——Day06_2_第39张图片JavaWeb——Day06_2_第40张图片JavaWeb——Day06_2_第41张图片JavaWeb——Day06_2_第42张图片

c:remove

JavaWeb——Day06_2_第43张图片JavaWeb——Day06_2_第44张图片

c:cathch


JavaWeb——Day06_2_第45张图片



JavaWeb——Day06_2_第46张图片

JavaWeb——Day06_2_第47张图片



*8.JSTL_cif_cchoose

c:if

JavaWeb——Day06_2_第48张图片JavaWeb——Day06_2_第49张图片

c:choose

JavaWeb——Day06_2_第50张图片JavaWeb——Day06_2_第51张图片




*9.JSTL_cforeach_cfortokens

c:foreach!!!!

JavaWeb——Day06_2_第52张图片JavaWeb——Day06_2_第53张图片JavaWeb——Day06_2_第54张图片JavaWeb——Day06_2_第55张图片JavaWeb——Day06_2_第56张图片JavaWeb——Day06_2_第57张图片JavaWeb——Day06_2_第58张图片JavaWeb——Day06_2_第59张图片

c:fortokens:

JavaWeb——Day06_2_第60张图片

JavaWeb——Day06_2_第61张图片



*10.JSTL_credirect_cimport_curl_cparam


import:

JavaWeb——Day06_2_第62张图片JavaWeb——Day06_2_第63张图片JavaWeb——Day06_2_第64张图片

crediert:

JavaWeb——Day06_2_第65张图片

c:url--重写


JavaWeb——Day06_2_第66张图片

 JavaWeb——Day06_2_第67张图片

c:param

JavaWeb——Day06_2_第68张图片


------------------------------------------课堂笔记------------------------------------


一、JSP
    1.jsp技术
        jsp是sun提供动态web资源开发技术。为了解决在Servlet中拼写html内容css、js内容十分不方便的问题,sun提供了这样一门技术。如果说Servlet是在java中嵌套HTML,则jsp就是在HTML中嵌套java代码,从而十分便于组织html页面
        
        jsp页面在第一次被访问到时会被jsp翻译引擎翻译成一个Servlet,从此对这个jsp页面的访问都是由这个Servlet执行后进行输出
        
    2.jsp语法
        (1)JSP模版元素 :jsp页面中书写的HTML内容称作JSP的模版元素,在翻译过来的Servlet中直接被out.write()输出到浏览器页面上了
            
        (2)JSP表达式 <%= java表达式 %> 在翻译过来的Servlet中,计算java表达式的值后,被out输出到浏览器上
        
        (3)JSP脚本片断 <% 若干java语句 %> 在翻译过来的Servlet中,直接被复制粘贴到了对应的位置执行.
            在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素
            多个脚本片断中的代码可以相互访问,犹如将所有的代码放在一对<%%>之中的情况
            单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句
        (4)JSP声明  <%! 若干java语句 %> 在翻译过来的Servlet中会被放置到和Service方法同级的位置,变成了类的一个成员
            
        (5)JSP注释 
         <%-- 注释的内容 --%> 被jsp注释注释掉的内容,在jsp翻译引擎将jsp翻译成Servlet的过程中会被丢弃,在翻译过来的Servlet中没有这些信息
         <%//java注释%> java注释被当作jsp脚本片段被翻译到了Servlet中,在.java文件被翻译成.class文件的时候注释信息被丢弃
          html注释被当作模版元素输出到了浏览器上,浏览器认识html注释不予显示
       
        (6)JSP指令<%@ 指令名称 属性=... ...%>
           JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分
           
            page指令
            
            
            Include指令:
                include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet
                只有include指令进行的包含是静态包含,其他的包含都是动态包含
            
            taglib指令

        
        (7)JSP九大隐式对象:在翻译过来的Servlet中Service方法自动帮我们前置定义的九个对象,可以在jsp页面中直接使用
          page
          confing
          application
          response
          request
          session
          out
          exception
          pageContext
          
          
          out
            相当于是response.getWriter得到PrintWriter
            out和response.getWriter获取到的流不同在于,在于这个out对象本身就具有一个缓冲区.利用out写出的内容,会先缓冲在out缓冲区中,直到out缓冲区满了或者整个页面结束时out缓冲区中的内容才会被写出到response缓冲区中,最终可以带到浏览器页面进行展示
            page指令中的
             [buffer="none | 8kb | sizekb" ]可以用来禁用out缓冲区或设置out缓冲区的大小,默认8kb 
             [ autoFlush="true | false"]用来设置当out缓冲区满了以后如果在写入数据时out如何处理,如果是true,则先将满了的数据写到response中后再接受新数据,如果是false,则满了再写入数据直接抛异常 

            在jsp页面中需要进行数据输出时,不要自己获取response.getWriter,而是要使用out进行输出,防止即用out又用response.getWriter而导致输出顺序错乱的问题
          
          pageContext
            (1)可以作为入口对象获取其他八大隐式对象的引用
                getException方法返回exception隐式对象 
                getPage方法返回page隐式对象
                getRequest方法返回request隐式对象 
                getResponse方法返回response隐式对象 
                getServletConfig方法返回config隐式对象
                getServletContext方法返回application隐式对象
                getSession方法返回session隐式对象 
                getOut方法返回out隐式对象
            (2)域对象,四大作用域的入口,可以操作四大作用域中的域属性
                
                作用范围: 当前jsp页面
                生命周期: 当对jsp页面的访问开始时,创建代表当前jsp的PageContext,当对当前jsp页面访问结束时销毁代表当前jsp的pageContext
                作用:在当前jsp中共享数据
                
                    public void setAttribute(java.lang.String name,java.lang.Object value)
                    public java.lang.Object getAttribute(java.lang.String name)
                    public void removeAttribute(java.lang.String name)

                    public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
                    public java.lang.Object getAttribute(java.lang.String name,int scope)
                    public void removeAttribute(java.lang.String name,int scope)
                    
                    PageContext.APPLICATION_SCOPE
                    PageContext.SESSION_SCOPE
                    PageContext.REQUEST_SCOPE
                    PageContext.PAGE_SCOPE 

                    findAttribute方法 -- 搜寻四大作用域中的属性,如果找到则返回该值,如果四大作用域中都找不到则返回一个null,搜寻的顺序是从最小的域开始向最大的域开始寻找
                    
            (3)提供了请求转发和请求包含的快捷方法
                pageContext.include("/index.jsp");
  		        pageContext.forward("/index.jsp");	
    3.零散知识
        (1)jsp映射
            
        		index
        		/index.jsp
        	
        	
        		index
        		/jsp/*
        	
            
        (2)JSP最佳实践
        
        (3)域的总结
            servletContext (application)
            session (session)
            request (request)
            pageContext
            
            如果一个数据只在当前jsp页面使用,可以使用pageContext域存储
            如果一个数据,除了在当前Servlet中使用,还要在请求转发时带到其他Servlet处理或jsp中显示,这个时候用request域
            如果一个数据,除了现在我自己要用,过一会我自己还要用,存在session域
            如果一个数据,除了现在我自己要用过一会其他人也要用,存在ServletContext域中
            
=================================================================================================================================       
jsp的标签技术:在jsp页面中最好不要出现java代码,这时我们可以使用标签技术将java代码替换成标签来表示
    
1.jsp标签:sun原生提供的标签直接在jsp页面中就可以使用
      -- 实现页面包含,动态包含
      -- 实现请求转发
      -- 配合上面的两个标签使用,在请求包含和请求转发时用来在路径后拼接一些请求参数
2.EL表达式:最初出现的目的是用来取代jsp页面中的jsp脚本表达式.但是随着el的发展el的功能已经不限于此了
    ${el表达式}
    
    (1)获取数据:
        使用中括号的地方都可以使用点号替代,除了中括号中是数字或者中括号中包含特殊字符(-.)的情况除外
        在中括号中如果不用双引号引起来则是变量,先找变量的值再拿变量的值使用.如果用双引号则是常量,直接使用常量的值
    
      ~获取常量
        字符串/数字/布尔类型,直接写在el表达式中,el直接进行输出
      ~获取域中的变量
        如果el中写的是一个变量的名,则el会调用pageContext的findAttribute方法,在四大作用域中以给定的名字找对应的属性值,找到后进行输出,如果四个域中都找不到,什么都不输出
      ~获取数组中的数据
      ~获取集合中的数据
      ~获取Map中的数据 
      ~获取javabean的属性      
    
    (2)执行运算:
        算数运算
            +-*/
        逻辑运算
        比较运算
       
        三元运算符
        empty运算符
        
    (3)获取常用开发对象:el中内置了11个内置对象,这些对象el内置的,不需要提前定义就可以直接在el中使用
        !pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象
        
        !pageScope -- page域中属性组成的Map
        !requestScope -- request域中属性组成的Map
        !sessionScope -- session域中属性组成的Map
        !applicationScope --application域中属性组成的Map
        
        !param -- 所有请求参数组成的Map
        paramValues -- 所有请求参数组成的Map
        
        header -- 所有请求头组成的Map
        headerValues -- 所有请求头组成的Map
        
        !cookie -- 所有cookie信息组成的Map
        
        initParam -- 所有web应用的初始化参数组成Map
        
        
            
    (4)调用java方法: -- 不需要大家自己会写调用方法的过程,只要会调用别人写好的标签库就可以了 fn标签库
           ~写一个类其中包含要被el调用的方法,这个方法必须是静态的方法
           ~写一个tld文件在其中对要被调用的静态方法进行一下描述
           ~在jsp页面中taglib指令将tld文件引入当前jsp页面,从而在jsp页面中就可以调用描述好的方法  

3.JSTL:
     标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中。
	标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的	属性。  
	标签用于删除各种Web域中的属性
	标签用于捕获嵌套在标签体中的内容抛出的异常,其语法格式如下:nested actions
	!!标签可以构造简单的“if-then”结构的条件表达式 
	!!标签用于指定多个条件选择的组合边界,它必须与标签一起使用。使用三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。
	!!标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。 
	!!用来浏览一字符串中所有的成员,其成员是由定义符号所分隔的
	标签  	在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。标签可以嵌套在标签内,为这些标签所使用的URL地址附加参数。
	 标签,实现include操作
	标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面 
	标签用于实现请求重定向
    
4.自定义标签技术:
    
    
        
        



------------------------------------------笔记------------------------------------

一、jsp基础
1.JSP概念
		Servlet是j2ee提供的动态资源开发技术,是以java的程序的形式进行开发,在java中书写HTML标签是一件十分头疼的事情,所以人们开发出了JSP,看起来像是HTML一样,但是通过服务器的编译最终可以生成Servlet
2.JSP的组成部分
	2.1模版元素
				直接书写在JSP中的HTML内容,看起来就像写HTML一样的方便,但是最终会在被翻译成Servlet的过程中 out.write()直接输出
	2.2脚本表达式
			<%= 表达式%> 接受的是一段java表达式,在JSP翻译到Servlet的过程中,将会计算表达式的值,利用out.write()输出出去
	2.3脚本片段
		<%  %>直接可以在脚本片段中书写java源代码,其中的源代码将会直接拷贝到翻译过来的servlet中的响应位置上。
	2.4JSP声明
		<%! %>在其中可以写java代码,其中的源代码会被拷贝到servlet中的service方法之外,可以利用它来为servlet增加成员方法、成员变量、静态代码块
	2.5JSP注释
		<%-- --%>被jsp注释包围起来的内容将不会被服务器翻译到servlet之中,要注意区分html注释和java注释的区别
		jsp注释不会被翻译到servlet中,会在翻译时遗弃
		java注释不会被编译到class文件中,会在编译时遗弃
		html注释将会当作模版元素,直接输出到浏览器中,浏览器将不会显示html注释中的内容
	2.6JSP指令
		2.6.1page指令
			用来通知翻译引擎,如果翻译当前的JSP
			[ language="java" ] 当前JSP使用的开发语言
			[ extends="package.class" ] 当前jsp翻译成servlet后要继承的类,注意此值必须是一个servlet的子类,一般情况下不要改
			[ import="{package.class | package.*}, ..." ] 导入需要使用到的包 java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;
			[ session="true | false" ] 用来指定当前页面是否使用session,如果设置为true,则翻译过来的servlet中将会有对session对象的引用,于是可以直接在jsp中使用session隐式对象。但是这将导致一旦访问jsp就会调用request.getSession()方法,可能导致不必要的空间浪费。如果确定jsp中不需要session可以设为false
			[ buffer="none | 8kb | sizekb" ] out隐式对象所使用的缓冲区的大小
			[ autoFlush="true | false" ] out隐式对象是否自动刷新缓冲区,默认为true,不需要更改
			[ isThreadSafe="true | false" ] 翻译过来的servlet是否实现SingleThreadModel
			[ errorPage="relative_url" ] 如果页面出错,将要跳转到的页面,除了在jsp中使用此属性指定错误页面外也可以在web.xml中配置整个web应用的错误页面,如果两个都设置则jsp中的此属性起作用
			[ isErrorPage="true | false" ] 如果设置此属性为true,翻译过来的servlet中将含有Exception隐式对象,其中封装的就是上一个页面中抛出的异常对象
			[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 和jsp乱码相关的指令,用来指定jsp输出时,设置的Content-Type响应头用来指定浏览器打开的编码
			[ pageEncoding="characterSet | ISO-8859-1" ] 服务器翻译jsp时使用的编码集.如果向防止jsp乱码,应该保证文件的保存编码和jsp翻译成servlet用的编码以及输出到浏览器后浏览器打开的编码一致.此属性一旦设置好,翻译引擎会间接帮我们设置content-type属性.
			[ isELIgnored="true | false" ] 当前页面是否使用el表达式,设置为false时表示启用el,j2ee4.0开始默认支持,j2ee4.0一下做开发时,如果要使用el表达式,需将此属性设置为fals

		2.6.2include指令
			<%@ incluede file=""%> 静态引入其他页面的内容
			*静态引入:在源文件级别进行合并,多个jsp生成一个servlet,最终由这一个servlet生成响应。推荐使用。
			*动态引入:在运行时将多个输出进行合并,多个jsp分别生成多个servlet,最终由这多个servlet生成响应,组成一个输出流,提供响应。执行效率没有静态引入高。
			
		2.6.3taglib指令
			<%@ taglib uri="" prefix=""%>用来引入标签库。
			uri指定被引入.tld文件的名称空间
			prefix 对该名称空间的一个缩写
	
	2.7九大隐式对象
			config
			application
			request
			response
			session
			out
			page
			pageContext
			Exception
		
		2.7.1out对象
			可以将他理解成response.getWriter()获得的PrintWriter.
			它自带一个缓冲区,其大小收page指令中的buffer的设定限制。当缓冲区满或缓冲区被关闭或当前jsp页面结束,则此缓冲区中的内容将被刷新到response.getWriter()的缓冲区中。
		2.7.2PageContext对象
			(1)获取其它八大隐式对象,可以认为是一个入口对象。
			(2)获取其所有域中的数据
					pageContext操作所有域中属性的方法
					public java.lang.Object?getAttribute(java.lang.String?name,int?scope)
					public void setAttribute(java.lang.String?name, java.lang.Object?value,int?scope)
					public void?removeAttribute(java.lang.String?name,int?scope)
					
					pageContext中代表域的常量
					PageContext.APPLICATION_SCOPE
					PageContext.SESSION_SCOPE
					PageContext.REQUEST_SCOPE
					PageContext.PAGE_SCOPE 
					
					findAttribute方法,在四大域中搜寻属性,搜寻的顺序是page域、request域、session域、application域,从小域到大域开始搜索,如果搜索到就直接获取该值,如果所有域中都找不到,返回一个null(与el表达式不同,此处返回null,对网页是不友好的)

			(3)作为域对象使用
					作用的范围:真个jsp页面,是四大作用域中最小的一个。
					生命周期:当对jsp的请求开始时生成,当响应结束时销毁。
			
			(4)跳转到其他资源
						其身上提供了forward和include方法,简化重定向和转发的操作

========================================================================================================
二、标签:JSP既可以用来生成HTML页面,也可以直接书写java源码处理逻辑,这就导致了很多开发者在JSP出现初期,只用JSP做开发,这个JSP页面十分庞大、充满了java源码和HTML标签、许多百分号,逻辑结构混乱,不宜调试程序和页面美化。于是人们希望将java源码从JSP页面中尽量抽离,但是把所有java源码都抽走是不现实的,最基本的获取属性、简单的页面逻辑还是需要的,于是,sun公司就提供了JSP中的标签开发技术,以一个标签代表一种功能的java代码,是整个jsp看起来更像一个HTML,并且不丢失JSP进行逻辑处理的功能。
	1.JSP标签:由sun公司提供,属于jsp规范中的内容,不需要引入第三方标签库
		用来替代request.getRequestDispatcher().include()
		用来替代request.getRequestDispatcher().forward()
		配合前两个标签使用,可以在包含或转发时,带一些参数过去
		
		在指定域中搜寻名字为id设置值的bean,如果没有就在该域中创建一个
		 用于为bean的属性负值name指定bean的名字,property指定要设定的属性的名字,value指定设定的属性的值,param用来指定使用哪个请求参数设定该属性,property可以设置为*,用来将所有的请求参数自动设置懂啊bean对应的属性上
			
			用于获取属性的值输出到输出流中,其中name指定bean的名字,property指定bean上属性的名字
			

	2.el表达式:替代<%= %>脚本表达式,在j2ee1.4以前默认是不支持el,如果需要需要指定page指令[isELIgnored="true | false" ]为false,j2ee4.0后默认支持el
		2.1获得域中的属性
		${propName}在四个域中搜寻proName属性,输出该值到输出流中
		${pageScope/requestScope/sessionScope/applicationScope.proName}获取指定域中的属性
		${attr[0]}获取域中的集合的指定元素
		${list[0]}获取list中的指定位置元素
		${map.keyName}获取map中指定键的值
		${bean.propName}获取javaBean的属性,可以认为是调用了javaBean的getXXX方法,
		~最重要的一个应用场景:在写路径的时候最好不要把web应用名称写死,java中应该用request.getContextPath去获取。jsp中就用el获取:${pageContext.request.contextPth}
		~.和[]区别使用点的地方都可以用中括号,如果属性名是数字或包含特殊符号(.-)就必须使用中括号。例子:${map["first.name"]}
		2.2进行简单运算
			(1)算数运算:所有参与元算的元素都会被转成数字,如果不能转就报错,空元素参与运算当作没参与。
			(2)关系运算:
			(3)逻辑运算:
			(4)empty/not empty判断一个对象或集合或数组是否为空或长度为0		
			(5)三元表达式 name == null ? "张三" : name;
		2.3获取web开发常用对象
			pageContext:代表pageContext对象,注意和pageScope进行区分
			pageScope:代表page域,可以用来获取page域中的属性
			reqeustScope:代表reqeust域,可以用来获取reqeust域中的属性
			sessionScope:代表session域,可以用来获取session域中的属性
			applicationScope:代表application域,可以用来获取application域中的属性
			param 代表请求参数组成的map集合${param.userName}
			paramValues 代表请求参宿组成的map集合,但是此集合的value是String[],用来获取一名多值的param
			header 获取请求头组成的map
			headerValues 获取请求头组成的map但是value是一个String[],用来获取一名多值的head
			cookie 获取cookie组成的map对象,此map的值是一个cookie对象${cookie.cookieName.cookieValue}
			initParam 以map封装的web.xml中配置的整个web应用的初始化参数
		2.4调用java方法
			el表达式可以调用java中的静态方法,分如下步骤完成:
			(1)编写一个类,其中应该包含要使用el调用的静态方法
			(2)编写一个tld文件,描述该方法的调用,在创建tld文件时应选用2.0版本的jsp配置,指定名称空间uri和缩写prefix
			(3)在tld文件中配置方法信息
				
					encodeURLel在调用时所使用的方法名
					cn.itheima.util.EncodeURL静态方法所在的类全路径名
					
						java.lang.String EncodURL( java.lang.String )//对该方法的描述:返回值类型 方法名(参数类型)
					
				
			(4)在jsp中使用<%@ taglib uri="" prefix="ppp"%>引入tld文件
			(5)在jsp中使用${ppp:encodeURL("xxxx")}调用
	2.5SUN提供的EL函数库,基本上都是对字符串进行操作的函数,请参考张老师写的《第8章 标准标签库_0519.doc》
		
		
		
		
		
		
		
==========================================
	3.JSTL标签库,在javaee4.0需要导入JSTL相关的jar包,在javaee5.0开始,默认已经包含了此jar包。还要需要用<%@ taglib%>指令引入标签库
		3.1介绍
			JavaServer Pages Standard Tag Library
	 		由JCP(Java Community Process)指定标准
			提供给 Java Web 开发人员一个标准通用的标签函数库
			和 EL 配合来取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序可读性、维护性和方便性
			一般我们使用JSTL1.1以上的版本,应为从这个版本开始支持EL表达式
			JSTL1.0默认不支持el表达式,不建议使用
		3.2JSTL标签库
			****核心标签库 (core)  --- c
			国际化标签 fmt
			数据库标签 sql --Servlet
			XML标签  xml
			JSTL函数(EL函数) el
		3.3JSTL核心标签库
		 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中。
		标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的	属性。  
		标签用于删除各种Web域中的属性
		标签用于捕获嵌套在标签体中的内容抛出的异常,其语法格式如下:nested actions
		标签可以构造简单的“if-then”结构的条件表达式 
		标签用于指定多个条件选择的组合边界,它必须与标签一起使用。使用三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。
		标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。 
		用来浏览一字符串中所有的成员,其成员是由定义符号所分隔的
		标签  	在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。标签可以嵌套在标签内,为这些标签所使用的URL地址附加参数。
 		 标签,实现include操作
 		标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面 
		标签用于实现请求重定向

	4.自定义标签


你可能感兴趣的:(JavaWeb)