且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JSP标签JSTL的使用(1)--表达式操作

更新时间:2022-04-01 12:46:56

单纯的使用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>