单纯的使用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. SQL语句删除字段,改变字段长度

    1.改变字段长度 ALTER TABLE T_MSG_SEND_R_ACC MODIFY reply_content VARCHAR(512); 2.删除字段ALTER TABLE MSG_TX_BA ...

  2. JSON.NET的Self referencing loop detected with type的原因以及解决办法

    模型中有循环引用是很常见的.例如,以下模型显示双向导航属性: : public class Category : { : public Category() : { : Products = new ...

  3. c# error

    部署iis c# 连sqlserver 用IIS发布之后,网页出错.提示为:异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\I ...

  4. js中对象的自定义排序

    //并返回一个可以用来对包含该成员的对象数组进行排序的比较函数 var compareAsc = function (prop) { return function (obj1, obj2) { va ...

  5. 初识RabbitMQ系列之二:下载安装

    一:Erlang安装 因为RabbitMQ 是Erlang语言开发的,所以首先要装上Erlang的环境 1)下载Erlang    下载官网:http://www.erlang.org/downloa ...

  6. JMeter如何和Charles进行接口测试

    什么是接口测试,接口测试到底如何开展,我相信任何一个软件测试人员都会有这样的疑问, 这里我以接口测试自动化平台的登录接口进行讲解. 一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测 ...

  7. Android 学习笔记二 自定义按钮形状 颜色 点击渐变

    问题:自定义按钮的颜色 形状弧度  渐变效果 1.新建自定义属性button_login.xml (借鉴某大神) <?xml version="1.0" encoding=& ...

  8. Swift:Foundation框架中的NS前缀的由来

    可能大家对于著名的NS前缀的由来有一些疑问. 绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OS X的基础. NeXTSTEP的程序员对它们的类 ...

  9. Android N(7.0) 被美翻的新特性!

    Tamic 专注移动开发!更多文章请关注 Csdn: http://blog.csdn.net/sk719887916/article/details/52612444 $ http://www.ji ...

  10. 六星经典CSAPP-笔记(3)程序的机器级表示

    1.前言 IA32机器码以及汇编代码都与原始的C代码有很大不同,因为一些状态对于C程序员来说是隐藏的.例如包含下一条要执行代码的内存位置的程序指针(program counter or PC)以及8个 ...