上一篇博客的传送门: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的 *** 作
运算和常量部分
注意事项- EL表达式不能出现在 Java 代码块、表达式块等JSP动态代码部分
- EL只能从四大域属性空间中获取数据(pageContext、request、session、application)
- EL不会抛出空指针异常,只会不显示
- EL不会抛出数组越界异常,只会不显示
- EL不具有对字符串进行处理的能力
JSTL(Java server pages Standarded Tag Library,JSP 标准标签库)是由JCP(Javacommunity Proces)所制定的标准规范,它主要提供给 Java Web 开发人员一个标准通用的标签库,并由 Apache 的 Jakarta 小组来维护。开发人员可以利用这些标签取代JSP页面上的 Java代码,从而提高程序的可读性,降低程序的维护难度。
JSTL的分类根据JSTL标签所提供的功能,一般将其分为5个类别:
- 核心标签
- 格式化标签
- SQL 标签
- XML 标签
- 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的实现以下错误如何解决?
有时我们在使用JSTL标签库时会出现红色警告,并且我们的标签库快捷提示也无法使用,这个原因是因为我们对应的tld文件未下载成功或者未成功加载。以下跟着关为来告诉大家如何解决这样的问题。
1、找到Maven中JSTL依赖的位置
2、在Idea中点击File--->Setting
3、将uri书写到第一个文本框,选择c.tld路径到第二个文本框
4、这里JSTL就OK了
容器 *** 作
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文档中的节点 |
"> | |
"> | |
"> | |
"> | 将XSL转换应用在XML文档中 |
"> | 与 |
格式化标签
标签 | 描述 |
---|---|
"> | 使用指定的格式或精度格式化数字 |
"> | 解析一个代表着数字,货币或百分比的字符串 |
"> | 使用指定的风格或模式格式化日期和时间 |
"> | 解析一个代表着日期或时间的字符串 |
"> | 绑定资源 |
"> | 指定地区 |
"> | 绑定资源 |
"> | 指定时区 |
"> | 指定时区 |
"> | 显示资源配置文件信息 |
"> | 设置request的字符编码 |
数据库标签
标签 | 描述 |
---|---|
"> | 指定数据源 |
"> | 运行SQL查询语句 |
"> | 运行SQL更新语句 |
"> | 将SQL语句中的参数设为指定值 |
"> | 将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
"> | 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
XML标签
标签 | 描述 |
---|---|
"> | 与<%= ... >,类似,不过只用于XPath表达式 |
"> | 解析 XML 数据 |
"> | 设置XPath表达式 |
"> | 判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体 |
"> | 迭代XML文档中的节点 |
"> | |
"> | |
"> | |
"> | 将XSL转换应用在XML文档中 |
"> | 与 |
函数标签
函数 | 描述 |
---|---|
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 入门到精通(四)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)