首页 表达式语言EL和标准标签库JSTL

表达式语言EL和标准标签库JSTL

举报
开通vip

表达式语言EL和标准标签库JSTL本章目标 · 熟悉EL的基本用法 · 熟悉JSTL的常用标记 · 能编写简单的自定义标签 本章考核 · 用JSTL和EL实现MVC的查询分页功能 · 用自定义标签实现分页工具条 知识点1:EL Expression Language 以${起始、以}结尾 ,例如${sessionScope.user.sex} EL语法比传统jsp语法简洁,方便 1.1、.和[]运算符 ${sessionScope.user.sex}和${sessionScope.user["sex"]} 可以混合使用 在...

表达式语言EL和标准标签库JSTL
本章目标 · 熟悉EL的基本用法 · 熟悉JSTL的常用标记 · 能编写简单的自定义标签 本章考核 · 用JSTL和EL实现MVC的查询分页功能 · 用自定义标签实现分页工具条 知识点1:EL Expression Language 以${起始、以}结尾 ,例如${sessionScope.user.sex} EL语法比传统jsp语法简洁,方便 1.1、.和[]运算符 ${sessionScope.user.sex}和${sessionScope.user["sex"]} 可以混合使用 在以下两种情况下,这两种表示方法是有差异的 · 当属性名称中存在特殊字符,如.或者-就要使用[] 例如:${sessionScope.user["my-name"]} · 如果动态取值,例如${sessionScopt.user[data]} 此时data是个变量 1.2、EL变量 ${变量名} 变量自动搜索顺序 属性范围 在EL中的隐含对象名称 Page pageScope Request requestScope Session sessionScope Application applicationScope 1.3、自动类型转换 ${param.count+20} 等价于 String strCount = request.getParameter("count"); int count = Integer.parseInt(strCount); count = count+20; 1.4、EL保留字 【and、or、no、instanceof 】 【 eq、ne、lt、empty 】【 gt、le、ge、div】 【true、false、null、mod】 1.5、EL隐含对象 pageContext、pageScope、requestScope、sessionScope、applicationScope、 Param【request.getParameter】、paramValues、header、headerValues、cookie、initParam【ServletContext.getInitParameter】 ${pageContext}的常用部分 ${pageContext.request.queryString} 请求参数字符串 ${pageContext.request.requestUrl} 取得请求的URL ${pageContext.request.contextPath} 取得web应用的名称 ${pageContext.request.method} 取得请求方式post、get ${pageContext.request.protocol} 请求的Http 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 (HTTP/1.1 HTTP/1.0) ${pageContext.request.remoteUser} 取得用户名称 ${pageContext.request.remoteAddr} 取得用户的ip地址 ${pageContext.session.new} 判断session是否为新的 ${pageContext.session.id} 取得session的id ${param.username} ${param.sex} 兴趣 ${s}
用户名:张三 性别:男 兴趣:旅游、阅读、影视 学历:高中 1.6、EL算术运算符 + - * /或div %或mod 1.7、EL关系运算符==或eq 、!=或ne、<或lt、>或gt、<=或le、>=或ge 1.8、EL逻辑运算符 &&或and ||或or !或not 1.9、EL其他运算符 empty判断是否为空${empty param.username} ${A?B:C} ${empty param.pcode?1:param.pcode} ()优先权 1.10、EL自定义函数 知识点2:JSTL javaServet Pages Standard Tag Library主要提供给javaweb开发人员一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 通用的标签函数库 · Web程序开发人员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入java程序代码段的做法,以提高程序可读性、维护性和方便性 · JSTL五大标签函数库 1、 核心标签库 2、 L18N格式标签库 3、 SQL标签库 4、 XML标签库 5、 函数标签库 · 在jsp页面中使用<%@taglib uri="" prefix=""/>引入JSTL标签库 如果没有声明指令,将无法使用JSTL的核心标签库的功 · 另外JSTL也支持EL语法: · Jsp语法:<%=messagelist.getMessage().getContent%> · 传统JSTL: · JSTL搭配EL · 引入标签库的方式:新建webproject的时候,选择J2EE4下的AddJSTL复选框 2.1、核心标签库(c标签) 组成:基本输入输出、流程控制、迭代操作和Url操作 分类 功能分类 标签名称 core 表达式操作 out、set、remove、catch 流程控制 if、 choose、when、otherwise 迭代操作 forEach、forTokens URL操作 import、param、url、redirect 2.1.1、 显示数据的内容,就像是<%=%>一样 语法: 注:EL项为Y表示该属性的内容可以使用EL表达式,写成attribute="${表达式}",N则反之 范例: 2.1.2、将变量的存储到JSP范围或javaBean的属性中 语法: 范例:将2存储在request范围内 假若number为null,则移出request范围的变量number 假若username为空,则赋值null给username 2.1.3、 你好Admin先生
执行结果为${condition} 2.1.4、本身只当做的父标签 语法:本体内容() 2.1.5、可以将集合中的成员一次浏览一遍 语法1:迭代一集合对象之所有成员 本体内容 语法2:迭代指定次数 本体内容 varStatus属性 Index:当前成员的索引序号0开始 Count:已经循环过的成员总数从1开始 First:是否第一个成员、last:是否最后一个成员 范例一:循环List 范例二:循环Map 范例三:循环数组 范例四:varStatus的用法 2.1.6、用来浏览一字符串的所有成员,其成员由定义符号分开 案例1:单一分隔符: ${str} 案例2:多个分隔符: ${str} --------------------------------------------------------------------------------------------------------------------------------------------------------------- 2.2、l18N格式标签库(fmt标签) 国际化的,一共12个,被分成两类 国际化核心标签 格式化标签: 2.2.1、用于日期对象格式化为任意格式的字符串 语法: 案例1:格式化日期为yyyy-MM-dd格式 案例2:yyyy-MM-dd HH:mm:ss 2.2.2、用于格式化数字为制定字符串 语法: 案例1:价格保留到小数点后2位 案例2:以财务格式显示金额“1,888.90” 2.3、自定义标签 开发自定义标签需要以下三个步骤来操作: Step1创建标签的处理类(Tag Handler Class) 要求 extens SimpleTagSupport step3、在JSP文件中引入标签库 Step2创建标签库描述文件(Tag Library Descrptor File)*.tld在web.xml文件下 案例1:用JSTL和EL实现按类别查询图书 JSTL 使用: <1> 导入<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 置于JSP页面顶部。 prefix属性可任意书写, uri属性为固定写法。 1.用来遍历集合与数组。 参数var为自定义参数 , 参数items 为要循环遍历的容器,该标签可以循环任意数组,以及MAP,COLLECTION接口下的容器。 例如:
${product.p_name } ${product.p_value } 购买
EL 表达式中${requestScope}的含义是在request作用域下寻找 products 。 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 测试删除

注册 登录

欢迎您 , ${sessionScope.user_info.name} 修改个人信息

目标 · EL的基本使用 · JSTL的常用标记 知识点1:EL 概念:Expression Language jsp语法和html语法分离 基本使用:以${开始、}结束 特点:与传统的jsp比较,el语法更加简洁,方便 特殊符号:. [] 隐含内置对象 JSP内置对象 EL隐含内置对象 Request requestScope session sessionScope application applicationScope page pageScope request.getParameter param request.getParameterValues paramValues EL表达式的灵活使用 ${属性名} Session.setAttribute(“aa”,”microsoft”);session属性值 Application.setAttribute(“bb”,”sun”);application属性值 El表达式打印3种方式: ${sessionScope.aa} ${sessionScope[“aa”]} ${aa}【pageScope>requestScope>sessionScope>applicationScope】 变量自动搜索顺序 <% application.setAttribute("aa","sun"); session.setAttribute("aa","microsoft"); request.setAttribute("aa","ibm"); pageContext.setAttribute("aa","hp"); %> ${sessionScope.aa} ${applicationScope["aa"]} ${pageScope.aa} ${aa} 知识点2:JSTL标签 JavaServerPages standard标准 tag标签 library库 五大分类:核心标签库 l18N格式标签库 SQL标签库 XML标签库 函数标签库 JSTL书写语法:会跟EL混合在一起,完善一个标记与jsp语法的分离 <% session.setAttribute("aa","microsoft"); //jsp传统输出 out.println(session.getAttribute("aa")); %>
${aa}

JSTL和EL作用:避开jsp语法代码,利用标签,增强程序的可读性 JSTL的使用步骤 Step1:引入标签库<%@ taglib uri=”http://java.sun.com/jsp/jstl/core 【引用名】“ prefix=”c【别名】”%> http://java.sun.com/jsp/jstl/fmt 注意:JavaEE4.0需要手动添加 JavaEE5自动带着jstl标签库 Step2:使用标签 输出变量: 循环标签 基本处理 判断标签
${i}
案例1:表单提交并用jstl和el处理提交元素

用户名:

性别:

学历:

个人兴趣爱好: 吃饭 睡觉 打豆豆

个人描述:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> My JSP 'indexPost.jsp' starting page 用户名:${param.txtName}
性别:${param["rbtSex"]}
学历:${param.dropEdu}
个人兴趣爱好:
个人信息:${param.txtAInfo}
${i}
案例2:更改CRUD +分页留言板 UpdateLw.jsp
姓名:
email:
主题:
内容:
ViewLw.jsp
${product.p_value }购买
留言编号 留言者姓名 email 主题 内容 更新 删除
${o.lwid} ${o.lwname} ${o.lwemail} ${o.lwSubject} ${o.lwContent} 更新 删除
当前是${abc.nowpage}页   首页 上一页 下一页 尾页
本文档为【表达式语言EL和标准标签库JSTL】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_716967
暂无简介~
格式:doc
大小:356KB
软件:Word
页数:8
分类:互联网
上传时间:2012-02-08
浏览量:27