第17章自定义标签 关于自定义标签 JSP提供了自定义标签的机制,让设计人员可以自行建立自已的 标签,并且在网页上直接使用,这种弹性的设计让JSP的标签功能可 以无限的延伸。 新版的JSP简化了自定义标签的设计,用户甚至不用通过Java就可 以直接制作标签,接下来的内容将直接来看看如何通过这些机制进行 标签的制作 JSP动态网页新技术
第17章自定义标签 JSP 动态网页新技术 1 JSP提供了自定义标签的机制,让设计人员可以自行建立自已的 标签,并且在网页上直接使用,这种弹性的设计让JSP的标签功能可 以无限的延伸 。 新版的JSP简化了自定义标签的设计,用户甚至不用通过Java就可 以直接制作标签,接下来的内容将直接来看看如何通过这些机制进行 标签的制作 。 关于自定义标签
第17章自定义标签 标签文件的重要指令 指令 说明 tag 设定整个标签文件的内容 taglib 同JSP网页tagi指令,使用于标签文件 nclude 同JSP网页 include指令,使用于标签文件 attribute 设定标签的参数 variable 设定标签的返回值 JSP动态网页新技术 2
第17章自定义标签 JSP 动态网页新技术 2 标签文件的重要指令 指 令 说 明 tag 设定整个标签文件的内容 taglib 同JSP网页taglib指令,使用于标签文件 include 同JSP网页include指令,使用于标签文件 attribute 设定标签的参数 variable 设定标签的返回值
第17章自定义标签 attribute指令与标签参数 将参数传入所设计的标签,必须设定 attribute指令 <%(@attribute name=paranam required=true/false name代表参数名称, paranam在标签文件中被用来代表这个参数的变量。 required则表示此参数值是否为必要,若设为tue,在网页当中引用标签的时 候,必须传入此参数,若为 false,则此代表其为非必要参数。 一旦设定了 attribute,用户便可以在标签文件中利用EL语法运用这些参数值。 Siparaname) 在引用标签的JSP网页当中,如果要将指定的参数值传入标签,只需要在引用标签 的时候,通过参数名称作设定即可 <mytag the Tag paranam=attributevalue JSP动态网页新技术 3
第17章自定义标签 JSP 动态网页新技术 3 attribute指令与标签参数 ➢ 将参数传入所设计的标签,必须设定attribute指令 。 – name代表参数名称,paraname在标签文件中被用来代表这个参数的变量 。 – required则表示此参数值是否为必要,若设为true ,在网页当中引用标签的时 候,必须传入此参数,若为false,则此代表其为非必要参数 。 ➢ 一旦设定了attribute,用户便可以在标签文件中利用EL语法运用这些参数值 。 ${paraname} ➢ 在引用标签的JSP网页当中,如果要将指定的参数值传入标签,只需要在引用标签 的时候,通过参数名称作设定即可 :
第17章自定义标签 variable指令与标签返回值 标签指令 variable,该指令的用途在于设定标签返回值 <avariable name-given- Name % variable指令当中的name- given代表此标签的返回值变量 引用标签的网页通过此变量可直接取得其返回的内容 JSP动态网页新技术
第17章自定义标签 JSP 动态网页新技术 4 variable指令与标签返回值 ➢ 标签指令variable,该指令的用途在于设定标签返回值。 – variable指令当中的name-given代表此标签的返回值变量 – 引用标签的网页通过此变量可直接取得其返回的内容
第17章自定义标签 动态属性 动态参数是由指令tg的 dynamic- -attributes,属性来设定,该属性值 代表引用标签的网页所传入之不定数目的参数集合 %atag dynamic-attributes-dynatt % 对骤,年的元有禁抵签的盒数31成设对情类型的集合 利用 map key来取得代表参数名称的键值,而map. value用来 取得参数本身所对应的值。 JSP动态网页新技术 5
第17章自定义标签 JSP 动态网页新技术 5 动态属性 ➢ 动态参数是由指令tag的dynamic-attributes属性来设定,该属性值 代表引用标签的网页所传入之不定数目的参数集合 : – dynatt包含了所有传入标签的参数,它是一个Map类型的集合 对象,其中的元素以键(key)/值(value)成对储存。 – 利用map.key来取得代表参数名称的键值,而map.value则用来 取得参数本身所对应的值
第17章自定义标签 Fragment属性 自定义标签接受一整段的程序片段作为参数内容。如果要设定这种类型的参数, 必须将 attribute指令的属性值设为true % @attribute name-attribute Name fragment="true"%0> >在JSP网页当中,将一整段的程序片段当作参数传入,属性必须使用 标签作设定。 JSP动态网页新技术 6
第17章自定义标签 JSP 动态网页新技术 6 Fragment属性 ➢ 自定义标签接受一整段的程序片段作为参数内容。如果要设定这种类型的参数, 必须将attribute指令的属性值设为true 。 ➢ 在JSP网页当中,将一整段的程序片段当作参数传入,属性必须使用 标签作设定 。 … – 指定name属性为所要传入的的参数名称 。 – 标签当中,填入的则是要传入自定义标签的内容
第17章自定义标签 引用自定义标签 在自定义标签内容当中,如果想要引用其本身 fragment被设为 ue的参数,则必须通过,并且指定其 fragment属性。 <jsp: invoke fragment="attributeName JSP动态网页新技术 7
第17章自定义标签 JSP 动态网页新技术 7 引用自定义标签 在自定义标签内容当中,如果想要引用其本身fragment被设为 true的参数,则必须通过,并且指定其fragment属性