jsp常用标签
1.jstl简介
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。
要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中,如果你还需要使用XML processing及Database access (SQL)标签,还要将相关JAR文件放到classpath中,这些JAR文件全部存在于下载回来的zip文件中。
2.EL表达式
(1) el表达式的格式:${},如${user.name}。
(2)el表达式中 . 和 []的区别。
如:${user.name}等价于${user["name"]}
[]还可以用来集合元素中的定位如:${booklist[0].price}
有特殊字符的时候要用[]如:${booklist[first-name]},不能用${booklist.first-name}
通过变量动态取值要用[]如:${user[param]}
(3)el变量
${username}如果不指定el变量,则先去Page,后Request,后Session,后Application去找先关变量。
4.el类型转换
5.el运算符
如:${empty username}user如果为空则返回true
6.jstl标签
首先要引入c标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
(1)
前提:request.setAttribute("name","xiaoming");
输出:xiaoming,如果没有name值默认输出error,如果escapeXml为false,>将会输出为>(转义字符)
(2)
注:var:存入到那个作用域的变量,value:值,scope:作用域
存值到java bean中
首先要创建java bean,然后在jsp中引入java bean,id为java bean的实例。
(3)
var:必选,需要删除的属性值
(4)
输出:javax.servlet.jsp.JspTagException
(5)
test:存放判断的条件
var:指定名称用来存放判断的结果类型是true还是false
scope:用来指定var属性指定的范围
(6)choose,when,otherwise
(7)
var:设定变量名用于存储从集合中取出元素
items:需要遍历的集合
begin:遍历的起始位置
end:遍历的结束位置
step:指定循环的步长,如过step=2,只输出以1,3为下标的元素
varStatus:通过index(在子集中的序号),count(输出的第几个元素),first(是否是遍历的第一个元素,是返回true),last(遍历的最后一个元素)几个状态值描述begin和end子集中的元素
(8)
用于浏览字符串
items:指定被迭代的字符串
delims:指定使用的分隔符
var:指定用于存放遍历到的成员
例如:
(9)
url:被导入资源的url路径
context:相同服务器下的其它web工程,必须以"/"开头,值为另一个工程名,
引入的是webapps下的其它web project,如果不在webapps下有如下设置,见下图
var:以String类型存入被包含文件的内容
scope:var变量的jsp范围,存入的作用域
charEncoding;编码
varReader:以Teader类型存储被包含的文件内容
如将tt.text中的内容存入session中,然后再取出来。
(10)
url:重定向到哪个页面
context:用于导入其它web中的页面
例子如下:
在test.jsp中用取值
(11)
-该标签用于动态生成一个String类型的URL,可以同
.value表示url路径值
var 将url路径存储在变量中
.scope var变量的范围
例子如下:
(12)jstl函数的使用
JSTL函数
使用JSTL函数需要导入:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
注:如果前一个字符串包含后一个字符串则返回true.此处返回true
注:如果前一个字符串包含后一个字符串则返回true.此处返回false
<book>abc</book>