单纯的使用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. 如何为分布式系统优雅的更换RPC

    为啥需要更换RPC? 很多小伙伴都遇到过需要为分布式系统调用更换RPC的问题,为什么会遇到这种事呢?其实,在系统搭建初期,需求简单,架构简单,最重要的是请求量也少,所以很多系统都采用快速原型开发模式, ...

  2. VS生成项目时,有些文件无法复制到输出目录的解决办法

    有时候,我们在生成项目时,发现有些文件如:.jpg的图片文件,无法复制到输出目录中,此时会非常纠结,反复的清理项目,重新生成,依旧不能解决此问题.后来我打开.csproj的项目工程文件时,经过对比发现 ...

  3. 利用mybatis-generator自动生成数据持久化的代码

    MyBatis生成器简介 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将生成所有版本的MyBatis的代码,以及版本2.2.0之后的iB ...

  4. WPF 窗口居中 & 变更触发机制

    窗口居中 & 变更触发机制 解决: 1.单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2.多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单实例窗口再次弹出时,位置才更新到父窗口屏幕. 3. ...

  5. 网络不能上网但能ping通处理

    同事电脑不能上网,经过检查可以排除网线和网络问题,默认网关以及网页地址都能ping通,从网上搜索说是LSP问题,但是根据其操作方式修复,还是无效. 最后,不知道怎么捣鼓的,问题解决了. 操作流程: 1 ...

  6. 1-学习GPRS_Air202(Air202开发板介绍)

    记得自己第一次实现远程通信是在学校里用SIM900A实现的,随着WIFI模块的普及自己就开始用WIFI模块了,当然WIFI模块已经用的很... WIFI模块要想实现远程控制必须连接路由器,其实在做王哥 ...

  7. JS实现2048代码

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. ACM 排列2

    Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数.  Input每组数据占一行,代表四张卡片上的数字(0<=数字<=9 ...

  9. PHP MySQL Update

    UPDATE 语句用于中修改数据库表中的数据. 更新数据库中的数据 UPDATE 语句用于更新数据库表中已存在的记录. 语法 UPDATE table_name SET column1=value, ...

  10. Tinyhttpd for Windows

    TinyHTTPd forWindows 前言 TinyHTTPd是一个开源的简易学习型的HTTP服务器,项目主页在:http://tinyhttpd.sourceforge.net/,源代码下载:h ...