码迷,mamicode.com
首页 > 编程语言 > 详细

Java Web学习(25): JSTL学习(三)

时间:2016-07-29 21:30:32      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

       常用核心标签介绍

       JSTL的核心标签共13个,从功能上可以分为4类:

       1)表达式控制标签

<c:out>、<c:set>、<c:remove>、<c:catch>

       2)流程控制标签

<c:if>、<c:choose>、<c:when>、<c:otherwise>  

       3)循环标签

<c:forEach>、<c:forTokens>

       4)URL操作标签

<c:import>、<c:url>、<c:redirect>

       <c:out>标

       <c:out>标签是显示表达式的结果,类似的方式<%=%>效果,与其不同的是<c:out>标签可以使用简单的"."操

作符来访问属性。例如,要访问customer.address.street,使用的标签是:

<c:out value="customer.address.street"/>

       <c:out>标签可自动转义XML标签,以便他们都不会计算为实际的标签。

       <c:out>标签具有以下属性:

       技术分享

       <c:out>标签的用法:

       1)输出常量:可在属性value中直接赋值

       2)输出变量:变量不存在时可配合defalut属性输出默认值,还可以通过属性escapeXml控制转义字符的输出方

式。

       实例:

   技术分享

       结果:

       技术分享

       <c:set>标签

       <c:set>标签是JSTL的setProperty动作的友好版本。标签是有用的,因为它的表达式求值,并使用结果的

JavaBean或java.util.Map对象设置一个值。

       <c:set>标签具有以下属性:

       技术分享

       如果指定目标,属性也必须指定。

       <c:set>标签的用法:

       1)存值到scope中:可将值以变量形式存放在指定的范围中(2种方式)

       2)存值到JavaBean的属性中

       实例:

       实例类Person的代码:

package com.entity;


/**
 * 实体类Person
 * @author Administrator
 * @date 2016年7月27日
 */
public class Person {
	private String name;
	private int age;
	private String hobby;


	public String getName() {
		return name;
	}


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


	public int getAge() {
		return age;
	}


	public void setAge(int age) {
		this.age = age;
	}


	public String getHobby() {
		return hobby;
	}


	public void setHobby(String hobby) {
		this.hobby = hobby;
	}


}

       NewFile.jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 导入JSTL标签库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!-- 导入实例类Person -->
<jsp:useBean id="person" class="com.entity.Person" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL使用</title>
</head>
<body>
     <h1>JSTL标签的使用</h1>
     <hr>
     <!-- 存值到scope中 -->
     <!-- 方式一 -->
     <c:set value="today" var="day" scope="session" />
     <c:out value="${day}" /><br/>  
     <!-- 方式二 -->
     <c:set var="love" scope="application" >football</c:set>
     <c:out value="${love}" /><br/> 
     <!-- 通过set标签向person中赋值 -->
     <c:set target="${person}" property="name" value="Jack"/>
     <c:out value="${person.name}" /><br/>  
     <c:set target="${person}" property="age" >22</c:set>
     <c:out value="${person.age}" /><br/>       
</body>
</html>

       结果:

       技术分享

       <c:remove>标签

       <c:remove>标签是删除变量,无论是从指定的范围内或范围内的变量(如果没有指定范围)。这个动作通常是不

特别有帮助,但它可以帮助确保一个JSP范围内的资源,它负责清理。

       <c:remove>标签具有以下属性:

       技术分享

       <c:remove>标签的用法:

       移除掉某个变量,var属性是必选的;scope属性是可选的。

       实例:

       技术分享

       结果:

       技术分享

       <c:catch>标签

       <c:catch>标签捕获任何异常信息,发生在它的身上,有选择地公开。简单地用于错误处理,更优雅地处理这

个问题。

       <c:catch>标签具有以下属性:

       技术分享

       <c:catch>标签的用法:

       可以包含那些容易出错的JSTL标签(逻辑)。

       实例:

       技术分享

       结果:

       技术分享

       <c:if>标签

       <c:if>标签计算表达式,只有当表达式的值为true,则显示其主体内容。

       <c:if>标签具有以下属性:

       技术分享

       <c:if>标签的用法:

       同程序中的if作用相同,用来实现分支条件控制。

       text属性用于存放判断的条件,一般使用EL表达式来编写;

       var属性是指定名称用来存放判断的结果类型为true或false;

       scope属性是用来存放var属性存放的范围。

       实例:

       根据用户输入的成绩进行等级判断

       技术分享

       结果:

       技术分享  

       这个例子没有做完,使用<c:if>标签实现比较繁琐,我们后面可以使用<c:choose>标签以及<c:when>标签来实

现。


     

Java Web学习(25): JSTL学习(三)

标签:

原文地址:http://blog.csdn.net/erlian1992/article/details/52068349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!