`
x125521853
  • 浏览: 73349 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

第二章 JSTL变量

    博客分类:
  • Jstl
阅读更多

一:要使用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}

 

 

分享到:
评论

相关推荐

    jstl练习实例,学习JSTL

    "ch15"这个文件可能代表了第15章的练习内容,通常会包含多个JSTL应用的示例,比如: - 使用`&lt;c:forEach&gt;`遍历列表并显示元素。 - 利用`&lt;c:if&gt;`和`&lt;c:choose&gt;`进行条件判断。 - 通过`&lt;fmt:formatDate&gt;`格式化日期。 -...

    JSTL in Action

    - **第二部分:学习JSTL**(第3章至第10章) - **第3章:表达式语言** - 详细介绍JSTL的核心组件——表达式语言(EL),包括语法特点、数据类型以及操作符。 - 展示如何使用EL来访问JSP页面中的变量、对象属性等...

    JSP范例宝典 第2章

    在《JSP范例宝典》的第二章中,我们深入探讨了...通过深入学习《JSP范例宝典》第二章的内容,开发者能够掌握JSP的基础,并具备开发简单Web应用的能力。随着对JSP的进一步探索,可以逐步构建出复杂、高效的企业级应用。

    第二章_JSP技术基础

    - `taglib`指令:引入自定义标签库,比如JSTL,通过指定URI和前缀来使用特定的功能。 - 脚本标识: - 程序标识(小脚本):`&lt;%...%&gt;`,可以插入任意合法的Java代码,常用于执行服务器端逻辑。 - 表达式标识:`...

    JSP应用开发详解(第二版)

    **第二章:JSP基本语法** - 使用JSP创建动态网页 - JSP的注释方式 - JSP表达式与脚本片段 - 使用内置对象(如out、request、response等) **第三章:JSP指令** - page指令:配置页面属性 - include指令:动态包含...

    ppt课件-第7章 JSP标准标记库.zip

    **二、JSTL核心标签库** 1. ****:设置变量,常用于初始化或修改页面作用域的变量。 2. ****和****:实现条件判断,对应单个条件,可以进行多条件分支。 3. ****和****:与配合使用,表示何时执行代码块。 4. ****...

    Java/JavaEE 学习笔记

    第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 ...

    J2EE学习笔记(J2ee初学者必备手册)

    第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 ...

    JAVA_WEB开发教程(前九章)

    2. **第二章:Java开发环境及开发工具** - 学习如何搭建Java开发环境,如安装JDK,配置环境变量,以及使用IDE(集成开发环境)如Eclipse或IntelliJ IDEA。 3. **第三章:HTML相关技术基础知识** - 深入理解HTML(超...

    JSP网络编程光盘资料第2章

    **JSP网络编程第二章概览** 在"JSP网络编程光盘资料第2章"中,我们将深入探讨Java Server Pages(JSP)技术的核心概念和应用,这是一门广泛用于构建动态Web应用程序的服务器端脚本语言。由于Java的跨平台特性,JSP...

    JSP程序开发范例宝典书籍中第二章中的源代码及资料

    在本压缩包中,我们聚焦于“JSP程序开发范例宝典”这本书的第二章内容,这是一份宝贵的学习资源,旨在为JSP初学者和开发者提供实用的示例和详细资料。JSP(JavaServer Pages)是Java平台上的一个核心技术,用于创建...

    MyEclipse.6.Java.开发中文教程(1-10章).rar

    第二章:Java编程基础 这一章主要讲解了Java语言的基本概念,包括数据类型、变量、运算符、流程控制语句等。通过实例演示,使读者能够快速上手Java编程。 第三章:MyEclipse 6的集成开发环境 详细介绍了MyEclipse 6...

    零基础学Java.Web开发

    1. **第二章 Java开发环境及开发工具**: - 学习Java编程的起点是设置开发环境,包括安装JDK,配置Java环境变量,以及选择合适的IDE(如Eclipse或IntelliJ IDEA)。 - IDE的使用方法,包括创建项目、编写代码、...

    jsp课后题答案.zip

    脚本元素包括声明、脚本let和表达式,分别用于定义变量、编写Java代码和输出数据。EL是一种简洁的表达式语言,用于获取和设置JavaBean的属性。JSTL是一套标准的标签库,提供了一种简化JSP编程的方式。 **JSP生命...

    jsp应用开发详解二版代码1-16章

    【JSP应用开发详解二版代码1-16章】是一个深入探讨Java Server Pages(JSP)技术的资源集合,涵盖了从基础到进阶的多个关键知识点。在JSP技术中,开发者可以使用HTML或者XML结合Java代码来创建动态网页。这个资源...

    从零开始学java web

    第二章:HTML与CSS基础 HTML(超文本标记语言)用于创建网页结构,CSS(层叠样式表)则用于美化网页。本章会教授基本的HTML元素和CSS选择器,使开发者能创建基本的静态网页。 第三章:JavaScript基础 JavaScript是...

    java文档

    2. **第二章 面向对象概述**:面向对象编程是Java的核心特性,本章会深入讲解面向对象的三大特性:封装、继承和多态。同时,也会介绍类与对象的概念,以及如何创建和使用它们。 3. **第四章 变量、关键字、类型及...

    jsp实用教程 jsp电子教程 jsp 从入门到精通 jsp

    二、JSP指令 1. page指令:定义JSP页面的全局属性,如编码、导入包等。 2. include指令:用于在页面编译时或运行时包含其他文件。 3. taglib指令:引入自定义标签库。 三、JSP脚本元素 1. Scriptlet:在中编写Java...

Global site tag (gtag.js) - Google Analytics