`

JSTL-CORE标签-Out、Set、Remove、Catch

    博客分类:
  • JSTL
 
阅读更多

JSP页面引入:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

 

表达式操作标签:out、set、remove、catch 

1.<c:out>

      <c:out>可以在页面中显示一个字符串或一个EL表达式的值。它的功能与JSP传统的<%=表达式%>相类似。 
      out标签的使用格式如下: 
          <c:out value=”object” [escapeXml=”true|false”] /> 
          <c:out value=”object” [escapeXml=”true|false”] >default value</c:out> 

 

      参数:

          value:可以指定一个字符串作为输出内容,也可以为EL表达式,例如${3+5}。 
       escapeXml:类型为boolean,确定<、>、&、’、”等这些字符在结构的字符串中是否被转换成字
      符串实体代码,默认的是true。 
       default value:可以是字符串,或一个表达式(EL表达式或者<%=表达式%>的JSP表达式)。
      如果属性指定的表达式或者对象值为null时,那么将输出这个default value部分的值。

 

      例子:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>JSTL OUT标签</title>
</head>
<body>
	<%
		String items[] = new String[3];
		items[0] = "JSTL OUT标签测试";
		items[1] = "<h2>abc</h2>";
		items[2] = "输出2";
		request.setAttribute("items", items);
	%>
	<c:out value="${a}">JSTL OUT标签</c:out>
	<br />
	<c:out value="${b}" default="JSTL OUT" />
	<br />
	<c:out value="${items[0]}">JSTL OUT标签</c:out>
	<br />
	<c:out value="${items[1]}" />
	<br />
	<c:out value="${items[1]}" escapeXml="false" />
	<br />
	<c:out value="${items[2]}" />
	<br />
	<c:out value="${111+211}" />

</body>
</html>

 

      输出:

 

 JSTL OUT标签
JSTL OUT
JSTL OUT标签测试
<h2>abc</h2>

abc


输出2
322

 

2.<c:set>

      <c:set>标签是用来在某个范围(request、session或者application)内设值,或者设置某个对象的属性值。

      set标签的使用格式如下:

          <c:set var=”varName” value=”varValue” [scope=”page|request|session|application”] /> 

          <c:set var=”varName” value=” Value” [scope=”page|request|session|application”] >

              default value

          </c:set>

          <c:set property=”propertyName” target=”target” value=”value” /> 

          <c:set property=”propertyName” target=”target” value=”value” >

              default value

          </c:set>

      参数:

          value:该属性指定变量或者对象中某个属性的值,并且可以是一个表达式。 

          var:变量名称, value属性指定的值就保存在这个变量中。

          scope:设定变量的有效范围,如果不设置,则默认为page。 
       target:设置属性的一个对象,它必须是JavaBean或者java.util.Map对象。

          property:设置对象中的一个属性。

 

      例子:

package test.jstl;

import java.io.Serializable;

public class Test implements Serializable {

	private static final long serialVersionUID = 7133763668848520975L;
	private String name;
	private String value;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	@Override
	public String toString() {
		return "Test [name=" + name + ", value=" + value + "]";
	}

}

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" import="test.jstl.Test"%>
<html>
<head>
<title>JSTL SET标签</title>
</head>
<body>
	<%
		Test test = new Test();
		test.setName("名字1");
		test.setValue("值1");
		request.setAttribute("test", test);
	%>

	<h3>set标签测试</h3>
	<c:set var="var1" value="1" />
	<c:set var="var2" value="2" scope="page" />
	<c:set var="var3" value="3" scope="request" />
	<c:set var="var4" value="4" scope="session" />
	<c:set var="var5" value="5" scope="application" />

	<c:out value="${var1}" />
	<br />
	<c:out value="${var2}" />
	<br />
	<c:out value="${var3}" />
	<br />
	<c:out value="${var4}" />
	<br />
	<c:out value="${var5}" />
	<br />
	<h3>修改Test类中Name属性的值前:</h3>
	<c:out value="${test.name}" />
	<br />
	<h3>修改Test类中Name属性的值后:</h3>
	<c:set property="name" target="${test}" value="名字2" />
	<c:out value="${test.name}" />
	<br />
</body>
</html>

 

输出:

set标签测试

1
2
3
4
5

修改Test类中Name属性的值前:

名字1

修改Test类中Name属性的值后:

名字2

 

      3.<c:remove>

          remove标签一般和set标签配套使用,两者是相对应的,remove标签用于删除某个变量或者属性。

          使用格式如下: 
          <c:remove var=”varName” [scope=”page|request|session|application”] /> 

      参数:

          scope:设定这个需要删除的变量所在范围。

          var:需要删除的变量或者对象属性的名称。

      例子:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" import="test.jstl.Test"%>
<html>
<head>
<title>JSTL Remove标签</title>
</head>
<body>

	<h3>remove标签测试</h3>
	<c:set var="var1" value="1" />
	<c:set var="var2" value="2" scope="page" />
	<c:set var="var3" value="3" scope="request" />

	<h3>删除前:</h3>
	<c:out value="${var1}" />
	<br />
	<c:out value="${var2}" />
	<br />
	<c:out value="${var3}" />
	<br />

	<h3>删除Page对象后:</h3>
	<c:remove var="var1" scope="page" />
	<c:remove var="var2" scope="page" />
	<c:remove var="var3" scope="page" />
	<c:out value="${var1}" />
	<br />
	<c:out value="${var2}" />
	<br />
	<c:out value="${var3}" />
	<br />
	<h3>删除对象后:</h3>
	<c:remove var="var3" />
	<c:out value="${var3}" />
	<br />
</body>
</html>

 

输出:

 

remove标签测试

删除前:

1
2
3

删除Page对象后:



3

删除对象后:

 

       4.<c:catch>

          catch标签的功能和Java程序中try…catch{}语句功能很类似,它用于捕获嵌入到它中间语句抛出的异常。

          使用格式如下: 
          <c:catch var=”varName” > 相关操作语句 </c:catch>

         参数:

         var:用于保存异常错误的一个变量名。

  

        例子:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" import="test.jstl.Test"%>
<html>
<head>
<title>JSTL Catch标签</title>
</head>
<body>
	<c:catch var="error">
		<%
			String str = "3";
				int num1 = Integer.parseInt(str);
				request.setAttribute("num1", num1);
		%>
	</c:catch>
	<c:out value="数字为:" />
	<c:out value="${num1 }" />
	<br/>
	<c:out value="错误为:" />
	<c:out value="${error }" />

	<hr />
	<c:catch var="error">
		<%
			String str = "a";
				int num2 = Integer.parseInt(str);
				request.setAttribute("num2", num2);
		%>
	</c:catch>
	<c:out value="数字为:" />
	<c:out value="${num2 }" />
	<br/>
	<c:out value="错误为:" />
	<c:out value="${error }" />
</body>
</html>

 

输出:

数字为: 3
错误为:


数字为:
错误为: java.lang.NumberFormatException: For input string: "a"

 

 

分享到:
评论

相关推荐

    JSTL详解--Core 标签库介绍

    **JSTL详解--Core标签库介绍** JavaServer Pages(JSP)标准标记库(JSTL)是一个关键的工具,旨在减少JSP页面中的脚本元素,提高代码的可维护性和可读性。JSTL包含了一系列定制的标记库,用于实现常见的Web应用...

    JSTL详解--标签库介绍.doc

    1. **多用途核心标签**:包括`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`和`&lt;c:catch&gt;`。这类标签用于基本的数据处理和输出。 2. **条件控制标签**:包括`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`。用于实现...

    JSTL 以及自定义标签开发相关

    1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL操作标签:import、url、redirect 使用标签时,一定要在jsp文件头加入以下代码...

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    **JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)的一个标准标记库,它提供了许多预定义的标签,以增强JSP页面的功能性和可维护性。JSTL旨在减少JSP页面中的Java脚本,提高代码的可读性和可重用性。 *...

    jstl标签库 手册

    - **核心标签库(Core Tags)**:包括用于输出、设置变量、移除变量和异常捕获的标签,如`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`和`&lt;c:catch&gt;`。 - **国际化标签库(Internationalization Tags)**:用于处理多语言...

    JSTL标签大全

    1. **核心标签库 (Core Tag Library)** - 包含通用的标签,如 `&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;` 和 `&lt;c:url&gt;`。这些标签用于处理基本的逻辑和数据操作,如输出...

    JSTL核心标签库的jar包

    在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `&lt;c:if&gt;`:用于执行条件判断,可以根据指定的条件执行不同的代码块。 - `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `...

    jstl标签基础+例子

    JSTL 包含多个核心标签库,其中最常用的是 Core 标签库,此外还包括 SQL 标签库、格式化标签库等。下面将详细介绍这些标签库的基本用法。 #### Core 标签库 - **定义**:Core 标签库包含了用于控制流程、变量管理、...

    jstl中C标签详解

    1. **表达式控制标签**:`out`、`set`、`remove`、`catch`,主要用于数据的输出、变量的设置与删除以及异常处理。 2. **流程控制标签**:`if`、`choose`、`when`、`otherwise`,用于实现逻辑判断和选择结构。 3. **...

    JSTL 核心标签库 使用

    本文将深入探讨JSTL的核心标签库(core tag library),主要包括`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`以及`&lt;c:forEach&gt;`等标签的使用。 1. `&lt;c:set&gt;`标签: `&lt;c:set&gt;`用于设置变量的值,...

    JSTL标签库

    主要包括`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`、`&lt;c:otherwise&gt;`、`&lt;c:forEach&gt;`、`&lt;c:forTokens&gt;`、`&lt;c:import&gt;`、`&lt;c:url&gt;`和`&lt;c:redirect&gt;`等标签。这些标签...

    JSTL标准标签库

    JSTL主要由几个不同的标签库组成,包括核心标签库、SQL标签库、XML标签库以及函数标签库。 1. **核心标签库 (Core Tags):** 这个库定义了`cc.tld`,包含了用于常见任务的标签,如数据管理、流程控制和输出。主要...

    jstl核心标签库使用说明

    JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化页面逻辑,让代码更加清晰易读。本文将详细介绍JSTL的核心标签库及其常用功能。 1. **简介** JSTL ...

    JSTL标签用法.doc

    Core 标签库是JSTL中最常用的库之一,它提供了一系列常用的功能,包括条件判断、循环迭代以及URL操作等。下面详细介绍几个常用的标签: ##### 2.1 &lt;c:out&gt; `&lt;c:out&gt;` 标签用于输出表达式的值。它可以接受多种类型...

    06JSTL标准标签库

    在本篇文章中,我们将深入探讨JSTL的核心标签库(Core Tag Library)以及其中的一些关键标签。 首先,JSTL的核心标签库包含了广泛使用的标签,它们分为四类:一般用途标签、条件标签、迭代标签和URL相关的标签。在...

    JSTL标签 参考手册

    1. **表达式控制标签**:包括`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;` 和 `&lt;c:catch&gt;`。这些标签主要用于处理表达式的输出和赋值等操作。 - `&lt;c:out&gt;`:输出表达式的值。 - `&lt;c:set&gt;`:设置变量的值。 - `&lt;c:remove&gt;`...

    学习JSTL标签参考手册.pdf

    **JSTL(JavaServer Pages Standard Tag Library)** 是一个用于Java Web开发的标准标签库,旨在提高程序的可读性、可维护性以及方便性,从而替代在JSP页面中直接编写Java脚本。JSTL 1.1 版本需要在支持Servlet 2.4...

    J2EE JSP-JSTL.ppt(787K)

    - **表达式操作**:`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`和`&lt;c:catch&gt;`。 - `&lt;c:out&gt;`用于显示数据,类似于JSP的脚本语言。 - `&lt;c:set&gt;`用于设置变量。 - `&lt;c:remove&gt;`用于移除变量。 - `&lt;c:catch&gt;`用于捕获异常...

    JSTL标签用法详解

    JSTL的核心标签库(Core Tags)包含了一些常用的功能标签,如: 1. `&lt;c:out&gt;`:这个标签用于输出表达式的值,类似于`&lt;%= %&gt;`或EL表达式`${}`。它可以防止XSS攻击,因为默认情况下它会对输出进行HTML转义。 2. `&lt;c:...

Global site tag (gtag.js) - Google Analytics