`

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"

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics