一:要使用C标签库,首先得在JSP页面加入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
二:Core核心标签库
运算符:out,set,remove,catch
流程控制:if,choose,when,otherwise
循环:forEach,forTokens
URL操作:import,param,redirect,url
三:<c:out>
主要用来显示内容,就像是<%=%>一样。
如:hello!<c:out value="${username}">
//servlet页面
package com.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ChapterServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.setAttribute("name", "李四");
request.getRequestDispatcher("chapter2.jsp").forward(request, response);
}
}
//jsp页面
<%@ page language="java" 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>chapter2.jsp</title>
</head>
<body>
<div>
<div>
<c:out value="${name}"></c:out>
</div>
</div>
</body>
</html>
导航:http://localhost:8080/jstl/Chapter2Servlet先导航servlet,再由servlet跳转jsp页面。
将后台servlet改为
request.setAttribute("name", "李<b>四</b>");
将前台jsp页面改为
<c:out value="${name}"></c:out>
输出结果为:李<b>四</b>
如果将前台jap改为:
<c:out value="${name}" escapeXml="false"></c:out>
输出结果:李四 (四字加粗)
可以看到escapeXml默认值为true,转换,可以设置为false,不转换,不转换页面就会解析html代码。
如果后台servlet没有值
前台:<c:out value="${name}" default="无名氏"></c:out>
输出结果:无名氏
说明当从四个范围内取不到值得时候,默认值起作用。
如果没有设置默认值,当取不到值或取到null时,则显示“”
四:<c:set/>
主要用来将变量存储在四个范围之中
此标签有五个属性:
value:要存储的值内容
var:给存储的值起变量名
scope:可以指定四个page,request,session,application范围其中之一。
target:可以指定JavaBean
property:指定JavaBean属性
语法一:
将value的值,存储在四个范围其中之一,默认为page
<c:set var="name" value="张三"/>
${name}
语法二:
将name存储在session范围中,然后在其它页面中取出查看
<c:set var="userName" value="张三" scope="session" />
<c:set var="userName" value="李四" scope="request" />
<jsp:forward page="a.jsp"></jsp:forward>
其它页面中取出
${name}可以看到取出request范围中的值
a.jsp中分别取出:
request:${requestscope.userName}
session:${sessionscope.userName}
五:<c:remove />
语法: <c:remove var="" scope=""/>
var指定变量, scope指定范围
示例:
<c:set var="userName" value="张三" />
<c:set var="userName" value="李四" scope="request" />
<c:set var="userName" value="王五" scope="session" />
显示:
<br />
<c:out value="${pageScope.userName}" />
<br />
<c:out value="${requestScope.userName}" />
<br />
<c:out value="${sessionScope.userName}" />
<br />
<br />
移除page中的userName
<br />
<c:remove var="userName" scope="page" />
<c:out value="${pageScope.userName}" default="无名氏" />
<br />
<c:out value="${requestScope.userName}" />
<br />
<c:out value="${sessionScope.userName}" />
<br />
<br />
页面1
<c:set var="userName" value="张三" />
<c:set var="userName" value="李四" scope="request" />
<c:set var="userName" value="王五" scope="session" />
<jsp:forward page="a.jsp"></jsp:forward>
页面2
移除request中的userName
<br />
<c:remove var="userName" scope="request" />
<br />
page:<c:out value="${pageScope.userName}" default="page无名氏"></c:out><br />
request:<c:out value="${requestScope.userName}" default="request无名氏"></c:out><br />
session:<c:out value="${sessionScope.userName}" default="session无名氏"></c:out><br />
如果不指定移除范围
<c:set var="userName" value="张三" />
<c:set var="userName" value="李四" scope="request" />
<c:set var="userName" value="王五" scope="session" />
<br/>
<c:remove var="userName"/>
page:<c:out value="${pageScope.userName}" default="page无名氏"></c:out> <br />
request:<c:out value="${requestScope.userName}" default="request无名氏"></c:out><br />
session:<c:out value="${sessionScope.userName}" default="session无名氏"></c:out><br />
可以看到,如果不带范围的话,会删除所有范围内同名的变量.
六:<c:catch/>错误处理
示例:
<c:catch var="error_Message">
<%
int i = Integer.parseInt("a");
%>
</c:catch>
${error_Message}
分享到:
相关推荐
"ch15"这个文件可能代表了第15章的练习内容,通常会包含多个JSTL应用的示例,比如: - 使用`<c:forEach>`遍历列表并显示元素。 - 利用`<c:if>`和`<c:choose>`进行条件判断。 - 通过`<fmt:formatDate>`格式化日期。 -...
- **第二部分:学习JSTL**(第3章至第10章) - **第3章:表达式语言** - 详细介绍JSTL的核心组件——表达式语言(EL),包括语法特点、数据类型以及操作符。 - 展示如何使用EL来访问JSP页面中的变量、对象属性等...
在《JSP范例宝典》的第二章中,我们深入探讨了...通过深入学习《JSP范例宝典》第二章的内容,开发者能够掌握JSP的基础,并具备开发简单Web应用的能力。随着对JSP的进一步探索,可以逐步构建出复杂、高效的企业级应用。
- `taglib`指令:引入自定义标签库,比如JSTL,通过指定URI和前缀来使用特定的功能。 - 脚本标识: - 程序标识(小脚本):`<%...%>`,可以插入任意合法的Java代码,常用于执行服务器端逻辑。 - 表达式标识:`...
**第二章:JSP基本语法** - 使用JSP创建动态网页 - JSP的注释方式 - JSP表达式与脚本片段 - 使用内置对象(如out、request、response等) **第三章:JSP指令** - page指令:配置页面属性 - include指令:动态包含...
**二、JSTL核心标签库** 1. ****:设置变量,常用于初始化或修改页面作用域的变量。 2. ****和****:实现条件判断,对应单个条件,可以进行多条件分支。 3. ****和****:与配合使用,表示何时执行代码块。 4. ****...
第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 ...
第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 ...
2. **第二章:Java开发环境及开发工具** - 学习如何搭建Java开发环境,如安装JDK,配置环境变量,以及使用IDE(集成开发环境)如Eclipse或IntelliJ IDEA。 3. **第三章:HTML相关技术基础知识** - 深入理解HTML(超...
**JSP网络编程第二章概览** 在"JSP网络编程光盘资料第2章"中,我们将深入探讨Java Server Pages(JSP)技术的核心概念和应用,这是一门广泛用于构建动态Web应用程序的服务器端脚本语言。由于Java的跨平台特性,JSP...
在本压缩包中,我们聚焦于“JSP程序开发范例宝典”这本书的第二章内容,这是一份宝贵的学习资源,旨在为JSP初学者和开发者提供实用的示例和详细资料。JSP(JavaServer Pages)是Java平台上的一个核心技术,用于创建...
第二章:Java编程基础 这一章主要讲解了Java语言的基本概念,包括数据类型、变量、运算符、流程控制语句等。通过实例演示,使读者能够快速上手Java编程。 第三章:MyEclipse 6的集成开发环境 详细介绍了MyEclipse 6...
1. **第二章 Java开发环境及开发工具**: - 学习Java编程的起点是设置开发环境,包括安装JDK,配置Java环境变量,以及选择合适的IDE(如Eclipse或IntelliJ IDEA)。 - IDE的使用方法,包括创建项目、编写代码、...
脚本元素包括声明、脚本let和表达式,分别用于定义变量、编写Java代码和输出数据。EL是一种简洁的表达式语言,用于获取和设置JavaBean的属性。JSTL是一套标准的标签库,提供了一种简化JSP编程的方式。 **JSP生命...
【JSP应用开发详解二版代码1-16章】是一个深入探讨Java Server Pages(JSP)技术的资源集合,涵盖了从基础到进阶的多个关键知识点。在JSP技术中,开发者可以使用HTML或者XML结合Java代码来创建动态网页。这个资源...
第二章:HTML与CSS基础 HTML(超文本标记语言)用于创建网页结构,CSS(层叠样式表)则用于美化网页。本章会教授基本的HTML元素和CSS选择器,使开发者能创建基本的静态网页。 第三章:JavaScript基础 JavaScript是...
2. **第二章 面向对象概述**:面向对象编程是Java的核心特性,本章会深入讲解面向对象的三大特性:封装、继承和多态。同时,也会介绍类与对象的概念,以及如何创建和使用它们。 3. **第四章 变量、关键字、类型及...
二、JSP指令 1. page指令:定义JSP页面的全局属性,如编码、导入包等。 2. include指令:用于在页面编译时或运行时包含其他文件。 3. taglib指令:引入自定义标签库。 三、JSP脚本元素 1. Scriptlet:在中编写Java...