Servlet 入门到精通(三)

Servlet 入门到精通(三),第1张

上一篇博客的传送门:Servlet 入门到精通(二)

EL表达式 概述

Expression Language 表达式语言,是一种在 JSP 页面获取数据的简单方式。只能获取数据,不能设置数据。主要用于替换和简化jsp页面中java代码的编写。

语法

在JSP页面的任何静态部分均可通过: ${expression}来获取到指定表达式的值。

需要注意的是,使用Idea创建jsp页面时需手动在page指令中允许使用EL表达式。

<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" language="java" %>
使用

容器相应 *** 作

获取请求参数的值

获取initParam的值

对象 *** 作

集合 *** 作

cookie的 *** 作

运算和常量部分

注意事项
  1. EL表达式不能出现在 Java 代码块、表达式块等JSP动态代码部分
  2. EL只能从四大域属性空间中获取数据(pageContext、request、session、application)
  3. EL不会抛出空指针异常,只会不显示
  4. EL不会抛出数组越界异常,只会不显示
  5. EL不具有对字符串进行处理的能力
JSTL标准标签库

JSTL(Java server pages Standarded Tag Library,JSP 标准标签库)是由JCP(Javacommunity Proces)所制定的标准规范,它主要提供给 Java Web 开发人员一个标准通用的标签库,并由 Apache 的 Jakarta 小组来维护。开发人员可以利用这些标签取代JSP页面上的 Java代码,从而提高程序的可读性,降低程序的维护难度。

JSTL的分类

根据JSTL标签所提供的功能,一般将其分为5个类别:

  • 核心标签
  • 格式化标签
  • SQL 标签
  • XML 标签
  • JSTL 函数
JSTL的引入

maven项目中引入依赖


    javax.servlet
    jstl
    1.2

具体页面中引入相应标签


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

以下错误如何解决?

有时我们在使用JSTL标签库时会出现红色警告,并且我们的标签库快捷提示也无法使用,这个原因是因为我们对应的tld文件未下载成功或者未成功加载。以下跟着关为来告诉大家如何解决这样的问题。

1、找到Maven中JSTL依赖的位置

2、在Idea中点击File--->Setting

3、将uri书写到第一个文本框,选择c.tld路径到第二个文本框

4、这里JSTL就OK了 

JSTL的实现 

容器 *** 作


JSTL对容器的 *** 作









为什么不用EL
${A}..${B}..${C}
如果容器中没有这个值,EL表达式不显示

分支 *** 作



    ${NUM} 是偶数!


${NUM} 是偶数! ${NUM} 是奇数!
${NUM} ,完美! ${NUM} ,优秀! ${NUM} ,及格! ${NUM} ,比较差!

循环 *** 作



    ${i} 


<% // 这是一个集合 pageContext.setAttribute("LIST",new EmpService().findAll()); %> ${j.count}..${j.index}..${emp}..${emp.ename}

跳转 *** 作



    
    

格式化 *** 作



${DATE}
${DATE2}

JSTL相关API

因为时间关系,我们这里只讲解了常用了标签,需要了解更多的童鞋可以参考以下标签库,此API出自于菜鸟教程。

核心标签

标签描述
">与<%= ... >,类似,不过只用于XPath表达式
">解析 XML 数据
">设置XPath表达式
">判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
">迭代XML文档中的节点
">的父标签
">的子标签,用来进行条件判断
">的子标签,当判断为false时被执行
">将XSL转换应用在XML文档中
">共同使用,用于设置XSL样式表

格式化标签

标签描述
">使用指定的格式或精度格式化数字
">解析一个代表着数字,货币或百分比的字符串
">使用指定的风格或模式格式化日期和时间
">解析一个代表着日期或时间的字符串
">绑定资源
">指定地区
">绑定资源
">指定时区
">指定时区
">显示资源配置文件信息
">设置request的字符编码

数据库标签

标签描述
">指定数据源
">运行SQL查询语句
">运行SQL更新语句
">将SQL语句中的参数设为指定值
">将SQL语句中的日期参数设为指定的java.util.Date 对象值
">在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML标签

标签描述
">与<%= ... >,类似,不过只用于XPath表达式
">解析 XML 数据
">设置XPath表达式
">判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
">迭代XML文档中的节点
">的父标签
">的子标签,用来进行条件判断
">的子标签,当判断为false时被执行
">将XSL转换应用在XML文档中
">共同使用,用于设置XSL样式表

函数标签

函数描述
fn:contains()测试输入的字符串是否包含指定的子串
fn:containsIgnoreCase()测试输入的字符串是否包含指定的子串,大小写不敏感
fn:endsWith()测试输入的字符串是否以指定的后缀结尾
fn:escapeXml()跳过可以作为XML标记的字符
fn:indexOf()返回指定字符串在输入字符串中出现的位置
fn:join()将数组中的元素合成一个字符串然后输出
fn:length()返回字符串长度
fn:replace()将输入字符串中指定的位置替换为指定的字符串然后返回
fn:split()将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
fn:startsWith()测试输入字符串是否以指定的前缀开始
fn:substring()返回字符串的子集
fn:substringAfter()返回字符串在指定子串之后的子集
fn:substringBefore()返回字符串在指定子串之前的子集
fn:toLowerCase()将字符串中的字符转为小写
fn:toUpperCase()将字符串中的字符转为大写
fn:trim()移除首尾的空白符

休息休息,继续我们Servlet的学习--Servlet 入门到精通(四) 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/721977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存