JSTL标签
来源:互联网 发布:知道交换机ip查端口号 编辑:程序博客网 时间:2024/04/29 07:52
JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)
JSTL提供了核心标签库、格式标签库、SQL标签库、XML标签库和函数标签库5中标签库。
核心标签库
核心标签库主要用于完成JSP页面常用功能,其中包括JSTL的表达式标签,条件标签,循环标签和URL标签。
格式标签库
格式标签库提供了一个简单的国际化(I18N)标记,用于处理国际化相关问题,另外格式标签库中还包含了用于格式化数字和日期显示格式的标签。
SQL标签库
SQL标签库封装了数据库访问的通用逻辑,简化了对数据库的访问,如果结合核心标签库,可以很方便的获取结果集,并迭代输出结果集中的数据。
XML标签库
XML标签库可以处理和生成XML标记,使用这些标记可以很方便的开发基于XML的Web应用。
函数标签库
函数标签库提供了一系列字符串操作函数,用于完成分解字符串,连接字符串,返回子串,确定字符串是否包含特定的子串等功能。
在使用JSTL标签之前,必须在JSP页面的首行使用<%@ taglib%>指令定义标签库的位置和访问前缀。
标签库名称资源标示符(uri)前缀(prefix)核心标签库http://java.sun.com/jsp/jstl/corecXML标签库http://java.sun.com/jsp/jstl/xmlx数据库标签库http://java.sun.com/jsp/jstl/sqlsql格式化标签库http://java.sun.com/jsp/jstl/fmtfmt函数标签库http://java.sun.com.jsp/jstl/functionsfn表达式标签
表达式标签主要包括<c:out>,<c:set>,<c:remove>,<c:catch>4个标签。
<c:out>输出标签
<c:out>输出标签用于将表达式的值输出到JSP页面中,该标签可以代替<%= %>。类似于JSP内置对象中的out。
语法:
<c:out value="expression" escapeXml="true|false" default="defaultValue"/>
其中value用于指定将要输出的变量或表达式;escapeXML用于指定是否转换特殊字符,默认为TRUE,表示转换,例如:将"<"转换为"<"default 用于指定当value值等于null时,将要显示的默认值。
其中value可以使用EL表达式,而其他不可以使用EL表达式。
例如:使用<c:out>标签输出字符串"水平线标记<hr>"。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> 当escapeXml属性为TRUE时: <c:out value="水平线标记<hr>" escapeXml="true"/> <br> 当escapeXml属性为false时: <c:out value="水平线标记<hr>" escapeXml="false"></c:out> </body></html>
最终显示效果如图:
<c:set>设置标签
<c:set>标签用于在指定范围(page、request、session、application)内定义保存某个变量的值。
语法:将值存在指定名称的变量中
<c:set value="value" var="name" scope="page"/>
或将变量存储在指定对象的属性中。
<c:set value="value" var="name" scope="page"/>
注意,target属性不能直接指定javaBean或Map,而应该是使用EL表达式或脚本表达式指定真正的对象,例如要为student对象name属性赋值,应该使用target="${student}"而不是使用target=student。
首先看一下javaBean
package Bean;public class Student { private String name; private String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
然后看相关处理界面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ page import="Bean.Student" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP</title> </head> <body> <c:set var="info" value="这是测试信息!" scope="session"/> ${info} <br> <jsp:useBean id="student" class="Bean.Student"/> <c:set value="张三" target="${student}" property="name"/> ${student.name } </body></html>
<c:remove>移除标签
<c:remove>标签可以从指定的JSP范围内移除指定的变量。
语法:
<c:remove var="name" scope="page"/>
var是要移除变量的名称。scope是用于指定变量的存在范围。可选值有page,request,session,application,默认是page。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'CRemove.jsp' starting page</title> </head> <body> <c:set var="mess" value="测试信息!"/> <c:out value="${mess}"/> <c:remove var="mess"/> <c:out value="${mess}" default="值为空"/> </body></html>
- 【JSTL】JSTL 标签库
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- jstl 标签
- jstl标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL 标签
- JSTL标签
- JSTL标签
- jstl标签
- IAR Embedded workbench IDE不生成hex文件
- Activity转化成View
- 该不该下班在家还去看写代码
- 如何更有效的进行面试
- 提取字符串
- JSTL标签
- hdoj 3046 Pleasant sheep and big big wolf 【入门最小割】
- Codeforces Beta Round #89 (Div. 2)D. Caesar's Legions
- numpy 攻略 2.5 视图与副本
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- usaco buylow dp+记录路径
- (二)安卓android游戏开发之2048游戏开发教程----深刻理解LinearLayout布局
- ZOJ 3798 Abs Problem(规律题)
- getClassLoader 和 ClassLoader.getSystemClassLoader()区别