博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp jstl标签库核心标签
阅读量:5873 次
发布时间:2019-06-19

本文共 7096 字,大约阅读时间需要 23 分钟。

JSTL标签库介绍

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

全称:JSTL标签库分类

核心标签库使用说明

    JSTL的核心标签库标签供13个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。     从功能上可以分为4类:表达式控制标签,流程控制标签,循环表桥,URL操作标签。表达式控制标签:out标签、set标签、remove标签、catch标签流程控制标签:if标签、choose标签、when标签、otherwise标签循环标签: forEach标签、forTokens标签URL操作标签:import标签、url标签、redirect标签、param标签在JSP页面引入核心标签库的代码为<%@ taglib prefix="gs" uri="http://java.sun.com/jsp/jstl/core" %>

out标签

 out标签功能:用来输出数据对象(字符串,表达式)的内容或结果在使用java脚本是常使用的方式为:<% out.println("字符串")%>或者<%= 表达式%>,web开发中尽可能的避免在页面使用java脚本,使用
标签就可以实现以上功能。out标签语法:       
       

out标签的属性

属性名 是否支持EL 属性类型 属性描述
value true Object 指定需要输出的内容
escapeXml true Boolean 指定是否将>、<、&、'、"等特殊字符进行HTML编码转换后在进行输出,默认为true
default true Object 指定如果value属性的值为null时所输出的默认值
jsp页面:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%>
Insert title hereout直接输出字符串:

set标签

set标签功能:用于把某一个对象存在指定的域范围内,或者将一个对象存储到Map或者JavaBean对象中set标签语法:    
    把一个变量名为name1值为"值1"的变量存储在指定的scope范围内。   
值2
    把一个变量名为name2,值为值2的变量存储在指定的scope范围内。       
    把一个值为"值3"赋值给指定的JavaBean的属性名     
值4     把一个值4赋值给指定的JavaBean的属性名

set标签属性

属性名 是否支持EL 属性类型 属性描述
value true object 用于指定属性值
var false string 用于自定要设置的web于属性的名称
scope false string 用于指定属性所在的web域 page request,session ,application
target true object 用于指定要设置的属性对象,这个对象必须是JavaBean对象或Java.util.Map对象
property true string 用于指定当前要设置的属性名称
jsp页面:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="jsp.jstl.Person" %><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page isELIgnored="false" %> 
Insert title here
set设置值:

${requestScope.raouo}

${aouo}

<%=request.getAttribute("raouo") %>

<%=session.getAttribute("saouo") %>

<%=application.getAttribute("aaouo") %>

<%=pageContext.findAttribute("aouo") %>

set设置对象
27
HZ

<%=person.getPname() %>

remove标签

remove标签功能:用来从指定的JSP范围内移除指定的变量

remove标签语法:    
    其中var 属性是必须的,scope可以省略
JSP页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%>
Insert title here

表达式控制标签

catche标签catch标签功能:用于捕获嵌套在标签体中的内容抛出的异常、catch标签语法:  
容易产生异常的代码
   var 属性用于标识catch标签捕获的异常对象,它将保存在page这个WEB域中,jsp页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title here
ssgao

if标签

if标签功能:用来实现条件控制。if标签语法:    
   
        标签体内容   

if标签属性

|属性名 |是否支持EL |属性类型 |属性描述|
|:-|:-|:-|:-|
|test |true |boolean |决定是否处理标签体中的内容的条件表达式|
|var |false |String |用于指定将test属性的执行结果保存到某个web域中的某个属性的名称|
|scope |false |String |将test属性指行结果保存哪个web域中|

JSP页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title here

${_name}

流程控制标签

choose、when、otherwise标签choose,when,otherwise这3个标签通常情况下是一起使用的,choose标签作为when和otherwise标签的父标签来使用。使用choose,when,otherwise三个标签,可以构造类似"if-else if -else"的复杂条件判断结构标签语法
 
业务逻辑1
 
业务逻辑2
 
业务逻辑
JSP页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title herechoose标签
大于50
小于50
其他数据信息

循环标签

forEach标签

forEach标签功能:根据循环条件遍历集合中的元素forEach标签语法: 
本体内容
var 设定变量名用于存储从集合中取出元素items指定要遍历的集合varStatus设定变量名,该变量用于存放集合中元素的信息begin,end用于指定遍历的起始位置和终止位置step用于指定循环步长
属性名称 是否支持EL 属性类型 是否必须
var no String
items yes Arrays
Collection
Iterator
Eunmeration
Map
String[] args
begin yes int
end yes int
step yes int
varStatus no String

varStatus的4个状态

属性名 类型 说明
index int 当前循环的索引值
count int 循环的次数
first boolean 是否为第一个位置
last boolean 是否为最后一个位置
JSP页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person,java.util.*" %>
Insert title here<% List
list=new ArrayList
(); list.add("A"); list.add("B"); request.setAttribute("list", list);%>​

forTokens标签

forToken标签功能:用于浏览字符串,并根据指定的字符将字符串截取

forToken标签语法:    
本体内容items:指定被迭代的字符串delims:指定使用的分隔符var:指定用来存放遍历到的成员begin:指定遍历的开始位置(int 型从取值0开始)end:指定遍历结束的位置(int 型,默认集合中最后一个元素)step;遍历步长varStatus:存放遍历到的成员的状态信息JSP页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title here

URL操作标签

import标签

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

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

url标签

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

url标签语法: 
 
       
 

url标签属性

属性名 是否支持EL 属性类型 属性描述
value true String 指定要构造的URL
var false String 指定将构造出的URL结果保存在web域中的属性名称
scope false String 指定将构造出的URL结果保存那个Web域中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title here
ssgao1987
百度首页

 redirect标签

redirect标签的功能:实现请求重定向,同事配合使用param标签在URL中加入指定的参数

redirect标签的语法:    
   
       
   

redirect标签的属性

属性名 是否支持EL 属性类型 属性描述
url true  string 指定要转换或重定向到的目标资源的url地址
context true string 当要使用相对路径重定向到同一个服务器下的其他WEB应用程序中的资源时 ,context属性指定其他web应用程序的名称
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jstl/core"  prefix="gs"%><%@ page import="jsp.jstl.Person" %>
Insert title here
gs
ssgao1987

param标签

    在JSP页面进行url的相关操作时,经常要在url后面附加一些参数。
标签可以嵌套在import标签、url标签、或redirect标签。为这些标签所使用的url地址附加参数。param标签在为一个url地址附加参数时,将自动对参数值进行url编码,   ps: 如果传递的是"中国" 则转换为%D6%d0%B9%FA"后再附加到url地址后面,这就是使用param标签的最大好处。    

转载于:https://www.cnblogs.com/ssgao/p/8867561.html

你可能感兴趣的文章
C++11 thread
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.39. GDBM-1.11...
查看>>
云:虚拟之上的管理平台
查看>>
决策统计---指标六要素
查看>>
开源要「开」得安全高效:开源云计算的五大发展趋势
查看>>
如何解决打开VS2010后没有UI界面的问题
查看>>
学点PYTHON基础的东东--数据结构,算法,设计模式---单向链表
查看>>
CSS实现带动画的购物图标
查看>>
android emulator虚拟设备分析第四篇之framebuffer
查看>>
PS黄金分割工具:黄金螺旋 黄金三角 黄金比例 三分法
查看>>
案例采访:中小企业融合IT架构选型
查看>>
如何从出行无线覆盖到智慧交通演变,锐捷智慧交通解决方案有一套
查看>>
Implementing Effective MySQL Database Backup Mechanisms
查看>>
Cocoa触发方法调用的几种方法
查看>>
数据中心能效的重要要素丨潜热与显热
查看>>
面对巨大的数据增长 我们准备好了吗
查看>>
揭秘CDN用户驱动的产品变革
查看>>
LOFTERD18B542F16FF685FD684F427B4…
查看>>
加速企业决策 Mellanox优化固态存储互连
查看>>
如何让App首屏启动更快 -- httpdns持久化缓存方案
查看>>