栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Servlet 入门到精通(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Servlet 入门到精通(三)

上一篇博客的传送门: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 入门到精通(四) 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号