单纯的使用jsp脚本来进行逻辑处理,显得代码很是杂乱。为了更加简洁也为了便于代码的阅读,于是JSTL应运而生。


库文件下载地址:


使用库文件之前最为重要的是加入便签库文件声明

<!-- prefix的作用是将名称空间URI映射到名称空间前缀 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

你可以随意的改变prefix的值,因为这个值仅仅是一个映射的前缀而已,不关乎本身的意义。


表达式操作

  • 输出标签
  • 存值标签
  • 移除变量标签
  • 异常处理标签

## `<c:out value="">` ##

//value内部可以是敞亮,也可以是变量(变量需要用${变量名}表达)
 <c:out value="${1+2+3 }"></c:out>
 <c:out value="this is a constant!"></c:out>
<%
    String username="Summer";
    request.setAttribute("username",username);
%>
<c:out value="${requestScope['username'] }"></c:out>
<!-- 使用default值 -->
<c:out value="${username1  }" default="error"></c:out>

<c:set>标签

//这个标签的作用是存储变量的临时值,可以存储到scope对应的四个对象上,也可以自定义javabean并存入其中
//第一种方式
<!-- set标签的使用方式,将一个值为value的名称为var的数据存入一个scope中,scope可以选的有四种:pageScope,requestScope,sessionScope,applicationScope -->
<c:set value="姓名" var="name" scope="session"></c:set>
<c:out value="${name }"></c:out>
//第二种方式,这里需要我们自定义一个javabean,并使用<jsp:useBean>标签引入到项目中
//bean.Person代码如下:
package bean;

public class Person {

    private String name;
    private String age;
    private String address;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

}
//接下来是使用set标签的地方
<!-- 添加使用bean的方式声明 -->
<jsp:useBean id="person" class="bean.Person"></jsp:useBean>

<!-- 将值存储到javabean中,注意target对应的值应该与<jsp:useBean>标签中的id 一一对应 -->
<c:set target="${ person }" property="name" value="郭瑞彪"></c:set>
<c:out value="${person.name }"></c:out>

<c:remove>标签,需要注意的是它只能移除一个具体的值
<c:remove var="TheName">//这样就可以移除TheName对应的值了

<c:catch>标签

这个标签是对异常处理的很好的帮手,一般作为外部大嵌套使用。

<c:catch var="error09">
    <!--在catch变迁内做一些逻辑处理即可,变量var就可以追踪到异常信息,并可以用<c:out>标签输出-->
    <c:import url="tt.txt" charEncoding="gb2312"></c:import>
</c:catch>
<c:out value="${error09 }"></c:out>

JSP标签JSTL的使用(1)--表达式操作的更多相关文章

  1. jsp标签jstl和el表达式

    1.el表达式的使用 1)访问bean的属性 方式一: ${user.name},容器会依次从pageContext,request,session,application中查找(getAttribu ...

  2. JSP标签JSTL(5)--常用的标签函数

    在使用JSTL的标签函数的时候请务必加上如下代码 <!-- 添加jsp标签的核心库 --> <%@ taglib uri="http://java.sun.com/jsp/ ...

  3. JSP标签JSTL(4)--URL

    <c:url>标签作用是将一个URL地址格式化为一个字符串,并且保存在一个变量当中.它具有URL自动重写功能.value指定的URL可以是当前工程的一个URL地址,也可以是其他web工程的 ...

  4. JSP标签JSTL(2)--流程控制

    对于流程控制,单纯的用jsp脚本,显得很是繁琐,尤其是遇到if判断的时候,写代码的时候就需要特别的小心,因为极有可能会出现符号不匹配的状况.但是利用标签语言就会大大的改善这一状况. 流程控制 if标签 ...

  5. JSP标签JSTL(3)--迭代操作

    简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数. <!--语法使用如下--> ...

  6. JSP、JSTL标签、EL表达式

    JSP.JSTL标签.EL表达式 1.EL表达式:${} 功能: 获取数据 执行运算 获取web开发的常用对象 2.JSP标签 例如: jsp标签还有很多功能,这里只列举出一种. <jsp:fo ...

  7. JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

  8. jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL

     一.JavaBean概念(非常重要) 1.JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据) a.必须有默认的构造方法,类必须是public的   public class  ...

  9. [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. Chrome的First Paint

    前言 First paint 直译过来的意思就是浏览器第一次渲染(paint),在First paint之前是白屏,在这个时间点之后用户就能看到(部分)页面内容. 所以研究这个First Paint的 ...

  2. [原创]手把手教你写网络爬虫(7):URL去重

    手把手教你写网络爬虫(7) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 本期我们来聊聊URL去重那些事儿.以前我们曾使用Python的字典来保存抓取过的URL,目的是将重复抓取的UR ...

  3. (转载)JVM知识小集

    1. 内存模型以及分区,需要详细到每个区放什么. 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点. 3. 对象创建方法,对象的内存分配,对象的访问定位. 4. GC ...

  4. js保留两位小数数字

    /* * @descript: 保留两位小数,如果小数点大于两位小数,就向上取值保留两位小数<br/> * @time 2016-07-13 */function mathCeil(num ...

  5. linux系统运维面试题简答

    1.     简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现.在master和backup之间通过mast ...

  6. PHP 常用函数集合

    PHP is_numeric() 函数 由 陈 创建, 最后一次修改 2016-12-02 定义和用法 is_numeric() - 检测变量是否为数字或数字字符串 语法 bool is_numeri ...

  7. 代理delegate

    1>代理的用处是什么? 监听那些不能通过addTarget监听的事件 主要用开负责在两个对象之间,发生某些事件时,传递或发送消息 当我们需要 监听某些事件时,但苹果没有提供相关监听方法(addt ...

  8. 重载equals方法时要遵守的通用约定--自反性,对称性,传递性,一致性,非空性

    本文涉及到的概念 1.为什么重载equals方法时,要遵守通用约定 2.重载equals方法时,要遵守哪些通用约定   为什么重载equals方法时,要遵守通用约定 Object类的非final方法都 ...

  9. Java内存泄漏分析系列之三:jstat命令的使用及VM Thread分析

    原文地址:http://www.javatang.com 使用jstat命令 当服务器CPU100%的时候,通过定位占用资源最大的线程定位到 VM Thread: "VM Thread&qu ...

  10. Mac小技巧:强制退出程序的六种方法

    原帖地址: http://www.cnbeta.com/articles/175447.htm 1.使用键盘快捷键强制退出处于活跃状态的Mac程序 快捷键:Command+Option+Shift+E ...