您当前的位置: 首页 >  Java

wespten

暂无认证

  • 2浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaWeb开发与代码的编写(十二)

wespten 发布时间:2019-08-24 06:36:28 ,浏览量:2

JavaWeb开发与代码的编写(十二)

Jstl标签库

  JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码

JSTL标签库的分类

  • 核心标签(用得最多)
  • 国际化标签(I18N格式化标签)
  • 数据库标签(SQL标签,很少使用)
  • XML标签(几乎不用)
  • JSTL函数(EL函数)

核心标签库使用说明

  JSTL的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

  从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。     (1)表达式控制标签:out标签、set标签、remove标签、catch标签。     (2)流程控制标签:if标签、choose标签、when标签、otherwise标签。     (3)循环标签:forEach标签、forTokens标签。     (4)URL操作标签:import标签、url标签、redirect标签、param标签。

  在JSP页面引入核心标签库的代码为:

标签的功能

  标签主要是用来输出数据对象(字符串、表达式)的内容或结果。   在使用Java脚本输出时常使用的方式为:  或者  ,在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用标签就可以实现以上功能。


  JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入标签中。

标签的语法

  标签的使用有两种语法格式:     【语法1】:     【语法2】:默认值   这两种方式没有本质的区别,只是格式上的差别。[escapeXml=”true|false”] [default=”默认值”]这些使用[]属性表示是不是必须的。

标签的属性

  

标签的使用范例

 
 
 
 
 
 
     JSTL: --表达式控制标签“out”标签的使用
 
 
 
     
     
     
  • (1)
  • (2)
  • (3)
  • (4)
  • (5)
  • (6)使用了默认值
  • (7)
  • (8)
  • (9)

  运行结果如下:

 

 

表达式控制标签——set标签使用总结

标签的功能

  标签用于把某一个对象存在指定的域范围内,或者将某一个对象存储到Map或者JavaBean对象中。

标签的语法

  标签的编写共有4种语法格式。   语法1:存值,把一个值放在指定的域范围内。          含义:把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。   语法2:            值2          含义:把一个变量名为name2,值为值2的变量存储在指定的scope范围内。   语法3:          含义:把一个值为“值3”赋值给指定的JavaBean的属性名。相当与setter()方法。   语法4:            值4          含义:把一个值4赋值给指定的JavaBean的属性名。   从功能上分语法1和语法2、语法3和语法4的效果是一样的,只是把value值放置的位置不同,至于使用那个根据个人的喜爱,语法1和语法2是向scope范围内存储一个值,语法3和语法4是给指定的JavaBean赋值。

标签的属性

标签的使用范例

  1 
  2 
  3 
  4 
  5 
  6 
  8 
  9 
 10 
 11 
 12 JSTL: --表达式控制标签“set”标签的使用
 13 
 14 
 15 
 16 
 17     代码给出了给指定scope范围赋值的示例。
 18     
    19 20
  • 把一个值放入page域中:
  • 21 22
  • 从page域中得到值:${pageScope.data1}
  • 23 24 25
  • 把一个值放入request域中:
  • 26 27
  • 从request域中得到值:${requestScope.data2}
  • 28 29 30
  • 把一个值放入session域中。
  • 31 32
  • 从session域中得到值:${sessionScope.name1}
  • 33 34 35
  • 把一个值放入application域中。白虎神皇
  • 36 37
  • 使用out标签和EL表达式嵌套从application域中得到值: 38 未得到name的值 39
  • 40 41 42
  • 未指定scope的范围,会从不同的范围内查找得到相应的值:${data1}、${data2}、${name1}、${name2}
  • 43
44 45 使用Java脚本实现以上功能 46
    47 48
  • 把一个值放入page域中。
  • 49
  • 从page域中得到值:
  • 50 51
  • 把一个值放入request域中。
  • 52
  • 从request域中得到值:
  • 53 54
  • 把一个值放入session域中。
  • 55
  • 从session中域得到值:
  • 56 59
  • 60
  • 把另一个值放入application域中。
  • 61
  • 从application域中得到值:
  • 62
  • 63 64
  • 未指定scope的范围,会从不同的范围内查找得到相应的值: 65 、 66 、 67 、 68 69
  • 70 71
72 73 操作JavaBean,设置JavaBean的属性值 74 你的成绩为优秀! 您的成绩为良好! 您的成绩为及格 对不起,您没有通过考试!

 运行结果如下:

循环标签——forEach标签使用总结

标签的功能

  该标签根据循环条件遍历集合(Collection)中的元素。

标签的语法

      本体内容

【参数解析】:   (1)var设定变量名用于存储从集合中取出元素。   (2)items指定要遍历的集合。   (3)varStatus设定变量名,该变量用于存放集合中元素的信息。       (4)begin、end用于指定遍历的起始位置和终止位置(可选)。   (5)step指定循环的步长。

标签属性

其中varStatus有4个状态属性,如下表所示:

使用范例

  
  
  
  
 
  
    
      JSTL: -- forEach标签实例
    
   
   
    
    
     
     
     
          
     
     
     
     
     
          
     
     
     
     
     
           的四种属性:
              所在位置,即索引:
              总共已迭代的次数:
              是否为第一个位置:
              是否为最后一个位置:  
     
   
 

 运行结果如下:

循环标签——forTokens标签使用总结

标签的功能

  该标签用于浏览字符串,并根据指定的字符将字符串截取。

标签的语法

语法:     本体内容 【参数说明】   (1)items指定被迭代的字符串。   (2)delims指定使用的分隔符。   (3)var指定用来存放遍历到的成员。   (4)begin指定遍历的开始位置(int型从取值0开始)。   (5)end指定遍历结束的位置(int型,默认集合中最后一个元素)。   (6)step遍历的步长(大于0的整型)。   (7)varStatus存放遍历到的成员的状态信息

使用范例

  
  
  
  
  
    
      JSTL: -- forTokens标签实例
    
    
   
     
     
          
         
     
     
     
         
     
     
     
                   的四种属性:
                       所在位置,即索引:
                       总共已迭代的次数:
                       是否为第一个位置:
                       是否为最后一个位置:
     
   
 

  运行结果如下:

URL操作标签——import标签使用讲解

标签的功能

  该标签可以把其他静态或动态文件包含到本JSP页面,与的区别为:只能包含同一个web应用中的文件。而可以包含其他web应用中的文件,甚至是网络上的资源。

标签的语法

【语法1】: 【语法2】:

【参数说明】: (1)URL为资源的路径,当引用的资源不存在时系统会抛出异常,因此该语句应该放在语句块中捕获。 (2)引用资源有两种方式:绝对路径和相对路径。     使用绝对路径的示例如下:     使用相对路径的示例如下:,aa.txt放在同一文件目录。 (3)如果以“/”开头表示应用的根目录下。例如:tomcat应用程序的根目录文件夹为webapps。导入webapps下的文件bb.txt的编写方式为:     如果访问webapps管理文件夹中其他web应用就要用context属性。 (4)context属性用于在访问其他web应用的文件时,指定根目录。例如,访问root下的index.jsp的实现代码为:     等同于webapps/root/index.jsp (5)var、scope、charEncoding、varReader是可选属性。

标签的使用范例

  
  
  
  
  
    
     JSTL: -- import标签实例
    
  
   
      
      
      
      
      
          
      
          ${error1}
      
      
           
      
      
      
          
      
       ${error2}
      
       
      
       
            
            
            
         
       
            ${error3}
   
 

URL操作标签——url标签使用总结

标签的功能

  标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。

标签的语法

【语法1】:指定一个url不做修改,可以选择把该url存储在JSP不同的范围中。 【语法2】:配合 标签给url加上指定参数及参数值,可以选择以name存储该url。       

标签的主要属性

标签使用范例

  
  
  
  
  
  
      JSTL: -- url标签实例
  

 
     
     使用url标签生成一个动态的url,并把值存入session中.
     
     
     
     百度首页(不带参数)
     
     
         配合 <c:param>标签给url加上指定参数及参数值,生成一个动态的url然后存储到paramUrl变量中
    
    
         
         123456
     
     百度首页(带参数)
 

URL操作标签——redirect标签使用总结

标签的功能

  该标签用来实现请求的重定向。同时可以配合使用标签在url中加入指定的参数。

标签的语法

【语法1】: 【语法2】:      【参数说明】: (1)url指定重定向页面的地址,可以是一个string类型的绝对地址或相对地址。 (2)context用于导入其他web应用中的页面。

标签的属性

标签使用范例

  
  
  
  
  
  
      JSTL: -- redirect标签实例
  
  
 
     
         
         GACL
         123
    
 

标签使用总结

  在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。标签可以嵌套在、或标签内,为这些标签所使用的URL地址附加参数。   标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”, 则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用标签的最大好处。    示例1:与标签嵌套使用

 
     
     123456
 
 百度首页(带参数)

 示例2:与标签嵌套使用

 
     
     GACL
     123
 

 关于JSTL核心标签库中的标签掌握以上的那些标签基本上就可以应付开发了。

 

关注
打赏
1665965058
查看更多评论
立即登录/注册

微信扫码登录

0.3652s