一.?? 说明
- 如有转载,请标明出处
- 本博讲解JSTL中的core库
二:core标记库库
???????? Core标记库提供JSP页面编程所需要的一般功能,Core标记库为显示,循环,迭代和设置变量等操作提供了最常用的定制标记,首先,在使用Core标记库的jsp文件开始部分,添加以下声明代码:
???????? <%@ taglib uri= prefix=”c”%>
三:core标记
??????? ?? 1.标记
用于在jsp中显示内容,作用与<%=param1%> 标记包含内容:
</span><c:out value=”欢迎访问” escapeXml=”<span style="color: #0000ff">true</span>” <span style="color: #0000ff">default</span>=”value值为空”/><span style="color: #000000">
标记不包含内容:
</span><c:out escapeXml=”<span style="color: #0000ff">true</span>” <span style="color: #0000ff">default</span>=”value值为空”><span style="color: #000000">
value
</c:out><span style="color: #000000">
属性介绍:
value:需要输出的内容,可以是EL表达式或者常量
escapeXml:是否对输出内容中的</span><,>,.,&<span style="color: #000000">进行转义,默认值为true
<span style="color: #0000ff">default:如果value属性中的内容为空,则输出本属性中的内容,可以是el表达式
? ? ? ? ? ?2.标记,很重要,相当于一门编程语言中的声明变量
标记不包含内容:
命名变量在指定作用范围内:
</span><c:set var=”name” scope=”page”>
111
</c:set><span style="color: #000000">
为Javabeans属性赋值:
</span><c:set target=”javabeans” property=”cc”>
111
标记包含内容:
命名变量在指定作用范围内:
</span><c:set value=”111” var=”name” scope=”page”/><span style="color: #000000">
为Javabeans属性赋值:
</span><c:set value=”111” target=”javabeans” property=”cc”/><span style="color: #000000">
属性介绍:
value:变量的内容,要保存的内容,可以是el表达式或变量
var:要保存内容的变量名称
scope:保存内容的作用范围,默认值:page
target:要修改属性的对象名,一般是Javabeans对象名
property:要修改Javabeans的属性</span></pre>
?????????????????? 3.标记,用于删除变量? ? ? ? ? ? ? ? ? ? ? ? ?
</span><c:remove var=”name” scope=”page”><span style="color: #000000">
属性介绍:
var:要删除的变量的名称
scope:变量所属于的范围</span></pre>
?????????????????? 4.标记,捕捉代码中的错误并赋值给指定变量? ? ? ? ? ? ? ? ? ? ? ??
</span><c:<span style="color: #0000ff">catch</span> var=”name”><span style="color: #000000">
Body content
</span></c:<span style="color: #0000ff">catch</span>><span style="color: #000000">
属性介绍
Var:将违例信息保存到指定的变量中,这个属性可有可无
?????????????????? 5. 用法与Java代码中的if代码的用法相同,标记可以包括内容,也可以不包括内容? ? ? ? ? ? ? ? ? ? ? ? ? ?
</span><c:<span style="color: #0000ff">if</span> test=”condition” var=”name” scope=”page”><span style="color: #000000">
Body content
</span></c:<span style="color: #0000ff">if</span>><span style="color: #000000">
属性介绍:
test:判断的条件
scope:保存condition值的变量的作用范围,默认:page
var:”存储判断条件的变量”</span></pre>
? ? ? ? ? ? ? ? ? ??
?????????????????? 6.标记
?????????????????? 不能单独使用,需要配合或者使用
?????????????????? 7.,当满足条件时,执行,不满足时不执行,需要嵌套到标记里面
</span><c:when test=”<span style="color: #0000ff">true</span>”><span style="color: #000000">
Body content
</c:when><span style="color: #000000">
属性介绍:
test:如果该属性里面的值为真时执行该标记包含的代码,否则不执行,必须嵌套在</span><c:choose>标记里面,如果有<c:otherwise>标记,则必须在<c:otherwise>标记前面</pre>
?????????????????? 8.标记
</span><c:otherwise><span style="color: #000000">
Body content
</span></c:otherwise><span style="color: #000000">
该标记没有属性,同样需要嵌套到</span><c:choose>标记里面,如果<c:when>标记的条件都不满足时执行该标记,</pre>
?????????????????? 9.迭代处理标记,可以处理:字符串,数组,map,Iterator和集合(Collection)对象,
String []names={“1”,”2”,”3<span style="color: #000000">”}
page.setAttribute(“names”,names);
</span><c:forEach var=”name” items=”names” varStatus=”varStatusName” begin=”0” end=”3” step=”1”><span style="color: #000000">
Body content
</span></c:forEach><span style="color: #000000">
属性介绍:
var:”代表当前成员变量的名称”
items:遍历的集合或列表,字符串等等
step:每次循环的长度,默认值1, begin:开始的位置,默认为0
end:结束的位置,默认为1
varStatus:无默认值,显示循环状态的变量</span></pre>
?????????????????? *varStatus属性列表
String []names</span>={“1”,names);
</span><c:forEach var=”name” items=”names” varStatus=”i” begin=”0” end=”3” step=”1”><span style="color: #000000">
Body content</span><br><span style="color: #000000">
Name:${name}</span><br><span style="color: #000000">
Index:${i.index}</span><br><span style="color: #000000">
Count:${i.count}</span><br><span style="color: #000000">
First:${i.first}</span><br><span style="color: #000000">
Last:${i.last}
</span></c:forEach><span style="color: #000000">
属性介绍:
Index:当前位置</span></pre>
?????????????????? 10.? ??
如果一个字符串的成员是由分隔符号所分割的,就可以使用标记迭代处理被分隔的每个字符串片段,.常用的分隔符号可以是”.”,”.”,”|”和”/ 示例代码:
</span><c:forTokens items=”a:b:c:d” delims=”:” begin=”0” end=”3” step=”1” varStatus=”i” var=”name”>
<c:out value=”${name}”/>
</c:forTokens><span style="color: #000000">
属性介绍:
Items:需要进行分隔处理的字符串
delims:分隔符号
begin:开始索引 默认值:</span>0<span style="color: #000000">
end:结束索引,默认值:集合中最后一个成员的索引
step:步长,默认:</span>1<span style="color: #000000">
var:代表当前成员变量的名称
varStatues:包含遍历状态的变量</span></pre>
?????????????????? 11.可以把其他静态或者动态文件包含到jsp页面中,? ? ? ? ? ? ? ? ??
和的区别是只能包含和自己在同一个web应用中的文件,> 示例代码:
</span><c:<span style="color: #0000ff">import</span> url=”url” context=”thiswebname” var=”name” scope=”page” charEncoding=”utf-8”>
<c:param>
</c:<span style="color: #0000ff">import</span>><span style="color: #000000">
或者
</span><c:<span style="color: #0000ff">import</span> url=”url” context=”thiswebname” varReader=”varReadername” scope=”page”><span style="color: #000000">
Body content
</span></c:<span style="color: #0000ff">import</span>><span style="color: #000000">
属性介绍:
url:需要导入页面的URL地址
context:本地的web应用的名字,默认值:当前应用的名字
charEncoding:设置导入数据的字符编码,默认值:ISO</span>-8859-1<span style="color: #000000">
scope:接收导入文本的变量的作用范围
var:接收导入文本的变量的名称
varReader:用于接收导入文本的java.io.Reader变量的名称</span></pre>
?????????????????? 12.标记,可以输出一个URL地址:好处,不需要更改web应用名称,可以传递参数?
标签包括内容:
</span><c:url value=”http:www.baidu.com” context=”thiswebname” var=”website”scope=”page”/><span style="color: #000000">
标签不包含内容:
</span><c:url value=”http:<span style="color: #008000">//</span><span style="color: #008000">www.baidu.com” context=”thiswebname” var=”website” scope=”page”></span>
<c:param>
</c:url><span style="color: #000000">
属性介绍:
value</span>=<span style="color: #000000">”url地址”
context:web应用的名字,默认:当前web应用的名字
var:保存URL地址的变量的名称,默认值:输出到当前页面
scope:存储URL地址的变量的作用范围,默认值:page</span></pre>
???????????????????????????
???????? ???????? 13.:请求重新定位到另外一个界面,使用效果与response.sendRedirect()方法相同
</span><c:redirect url=”value” context=”context”/><span style="color: #000000">
或者
</span><c:redirect url=”value” context=”context”>
<c:param>
</c:redirect><span style="color: #000000">
属性介绍:
url:url地址
context:要转向的web应用的名字,默认值:当前web应用的名字</span></pre>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|