EL和JSTL的学习
来源:互联网 发布:亳州淘宝店转让网 编辑:程序博客网 时间:2024/05/28 01:36
EL即Expression Language(表达式语言)EL的语法:${ EL exprission }${ bean.name } 或 ${ bean['name'] }说白了,EL是用来显示数据的,功能跟<%=表达式%> 一样,EL是不需要引入什么东西的
EL运算符:
类别运算符
算术运算符+、-、*、/(或 div)和 %(或 mod)
关系运算符==(或eq)、!=(或ne)、<(或lt)、>(或gt)、<=(或le) 和 >=(或ge)
逻辑运算符&&(或 and)、||(或or)和 !(或 not)
验证运算符empty
验证运算符(empty):对于验证数据特别有用。empty 运算符采用单个表达式作为其变量(也即,${empty input}),并返回一个布尔值,该布尔值表示对表达式求值的结果是不是“空”值。求值结果为 null 的表达式被认为是空,即无元素的集合或数组。如果参数是对长度为零的 String 求值所得的结果,则 empty 运算符也将返回 true。JSTL(JavaServerPages Standard Tag Library)JSP标准标签库JSTL标准标签库包括核心标签库和SQL标签库,核心标签库常用的是if和forEach说白了JSTL常实现网页逻辑判断和迭代显示的,需要引入<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>只要JSTL和EL结合,就基本可以让页面再无<% %> jsp代码了。
为什么要用JSTL我们JSP用于开发信息展现页非常方便;也可以嵌入java代码(scriptlet、表达式和声明)代码用来实现相关逻辑控制。看下面程序。但这样做会带来如下问题:jsp维护难度增加;出错提示不明确,不容易调试;分工不明确;(即jsp开发者是美工,也是程序员);最终增加程序的开发成本;解决上面的问题可以使用定制标记库,JSTL使JSP开发者可以减少对脚本元素的需求,甚至可以不需要它们,从而避免了相关的维护成本。使分工更明确。
<% if (session.getAttribute(“user”).equals(“member”)) { %>
<p>Welcome, member!</p><% } else { %> <p>Welcome, guest!</p><% } %>JSTL一般配合EL一起使用 JSTL部署在EE应用程序中部署JSTL有两种方式:已存在的工程上部署将jstl.jar和standard.jar两个包考到现有工程
WebRoot / WEB-INF / lib 目录下将相关的 .tld文件考到现有工程 WebRoot / WEB-INF 目录下; 也可通过eclipse在已存在工程上部署新建工程的时候直接部署
在JSP使用JSTL-core标签库core在jsp中的使用:在 web.xml 中添加
<jsp-config> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> </jsp-config>在jsp文件中添加<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>或<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>使用<c:out value=“HelloWorld” /> Core的操作作用域变量标签获取输出作用域中变量.<c:out >
属性: value [default] [escapeXml]定义作用域中变量<c:set > 属性: value var [scope]删除作用域中变量<c:remove > 属性: var [scope] Core的条件控制标签单分支条件<c:if >
属性:test [var] [scope]多分支条件 <c:choose > <c:when > 属性: test <c:otherwise >
Core的其它标签输出转换成的URL:<c:url > 属性:value [context] [var] [scope]和<jsp:include >相似用于包含其它页面的内容:<c:import >属性:url [context] [charEncoding] [var] [scope]重定向<c:redirect >属性: url [context]与<c:url><c:import><c:redirect>配合使用,用于传参<c:param >属性: name value
Core的循环控制标签实现简单循环<c:forEach >
var='item' begin='5' end='10' step='2‘ varStatus=‘’实现迭代(遍历)<c:forEach > items='' var='item‘ varStatus=‘’ 属性varStatus和var相似设置一个作用域变量;只是varStatus作用域变量中存的是包括运行状态的对象;此对象包含如下属性:current
index count first last begin end step
- EL和JSTL的学习
- JSTL和EL表达式的学习总结
- EL和JSTL学习笔记
- ognl+struts-tag与el+jstl互相代替,以及el和jstl的学习笔记
- 【jstl&el】jstl和EL的区别和使用
- JSTL和EL的区别
- JSTL和EL的基础
- JSTL和EL的使用
- el和jstl的使用
- JSTL和EL的区别
- JSTL和EL的区别
- jstl和el的区别
- 在学习JSTL和EL所遇到的问题解决方案
- JSTL标签和EL表达式学习
- 【学习】jsp编程jstl和el
- JSTL标签和EL表达式学习
- JAVA 学习日记(6).JSTL和EL
- EL表达式和JSTL常用学习
- 关于通用双向链表的使用
- opencv 中的Otsu阈值化
- 判断gif是否为动图
- 数据库第二次作业
- 苹果系统修复若干办法
- EL和JSTL的学习
- poj 1753 dfs递归组合数
- Eclipse常用设置--字体
- 关于webview的补充
- PHP格式化金钱函数
- 机器学习知识体系
- jQuery each中的break
- 针对ListView滚动条会遮挡列表中内容的解决方法
- 符号积分用的Rubi软件包(Mathematica下的Package)