欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp的jstl标签语言库讲解

程序员文章站 2022-03-23 20:42:14
el语言${}在jsp中是默认使用的,没想到jstl的标签在jsp中竟然不能使用,需要导入jstl.jar和standard.jar之后才能识别并使用。 如果开发中使用到jsp,...

el语言${}在jsp中是默认使用的,没想到jstl的标签在jsp中竟然不能使用,需要导入jstl.jar和standard.jar之后才能识别并使用。

如果开发中使用到jsp,标签语言是必须用到的,因为除了静态的html内容,其他的要是从后台数据库取出来的数据,一般是需要转化和判断的。

在standard.jar中有c.tld文件;

这应该是<%@ taglib prefix=”c” uri=”https://java.sun.com/jsp/jstl/core” %>也就是核心标签库中的标签定义。

引入核心core标签之后有以下可用的标签:

标签              描述
 用于在JSP中显示数据,就像<%= ... >
 用于保存数据
  用于删除数据
   用来处理产生错误的异常状况,并且将错误信息储存起来
  与我们在一般程序中用的if一样
  本身只当做和的父标签
    的子标签,用来判断条件是否成立
   的子标签,接在标签后,当标签判断为false时被执行
  检索一个绝对或相对 URL,然后将其内容暴露给页面
 基础迭代标签,接受多种集合类型
   根据指定的分隔符来分隔内容并迭代输出
   用来给包含或重定向的页面传递参数
    重定向至一个新的URL.
 使用可选的查询参数来创造一个URL

不知道跟jsp自带的标签功能会不会有重叠的,不过一般喜欢使用jstl。

先来看最常用的if标签定义吧:

  
    
    Simple conditional tag, which evalutes its body if the
    supplied condition is true and optionally exposes a Boolean
    scripting variable representing the evaluation of this condition
    
    if
    org.apache.taglibs.standard.tag.rt.core.IfTag
    JSP
    
        test
        true
        true
    boolean
    
    
        var
        false
        false
    
    
        scope
        false
        false
    
  

丛上到下的意思是:

description:描述,英文不会翻译。

name:标签的名字,可以通过使用

attribute:标签能用的属性,包括test\var\scope.

test 就是判断的条件,

var 就是判断之后的结果,真或者假,var的值就是用来存放这个结果的,之后可以通过这个值取到这个结果

比如var=“test”,那就可以${name}取到test的结果

scope 作用域,jsp有四大作用域,request,session、、、、,随便放一个:scope=“request”

还有false就是不是必须的意思

if的开始和结束标签之间的内容会根据test的真假来决定是否展示出来

下一个:

out标签定义

  
    
        Like <%= ... >, but for expressions.
     
    out
    org.apache.taglibs.standard.tag.rt.core.OutTag
    JSP
    
        value
        true
        true
    
    
        default
        false
        true
    
    
        escapeXml
        false
        true
    
  

value 必须的,一般它的值都是el表达式,不然就是静态的内容。

default 默认值,如果value取不到值,就显示默认的,

escapeXml 指定内容是否以纯文本显示,默认true、如果有这个属性,就会展示HTML文本。

out标签之间放内容不会显示。

好了,全部内容已经讲完!