JSTL标签

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/corec
XML标签库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,表示转换,例如:将"<"转换为"&lt;"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> 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值