加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JSTL_Core标记库

发布时间:2020-12-14 06:25:59 所属栏目:Java 来源:网络整理
导读:一.?? 说明 如有转载,请标明出处 本博讲解JSTL中的core库 二:core标记库库 ???????? Core标记库提供JSP页面编程所需要的一般功能,Core标记库为显示,循环,迭代和设置变量等操作提供了最常用的定制标记,首先,在使用Core标记库的jsp文件开始部分,添加以下声明代

一.?? 说明

  1. 如有转载,请标明出处
  2. 本博讲解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"&gt;true</span>” <span style="color: #0000ff"&gt;default</span>=”value值为空”/><span style="color: #000000"&gt; 标记不包含内容: </span><c:out escapeXml=”<span style="color: #0000ff"&gt;true</span>” <span style="color: #0000ff"&gt;default</span>=”value值为空”><span style="color: #000000"&gt; value

</c:out><span style="color: #000000">

属性介绍:

     value:需要输出的内容,可以是EL表达式或者常量



     escapeXml:是否对输出内容中的</span><,>,.,&amp;<span style="color: #000000"&gt;进行转义,默认值为true

<span style="color: #0000ff">default:如果value属性中的内容为空,则输出本属性中的内容,可以是el表达式

? ? ? ?   ? ?2.标记,很重要,相当于一门编程语言中的声明变量

标记不包含内容: 命名变量在指定作用范围内: </span><c:set var=”name” scope=”page”> 111 </c:set><span style="color: #000000"&gt; 为Javabeans属性赋值: </span><c:set target=”javabeans” property=”cc”> 111 标记包含内容: 命名变量在指定作用范围内: </span><c:set value=”111” var=”name” scope=”page”/><span style="color: #000000"&gt; 为Javabeans属性赋值: </span><c:set value=”111” target=”javabeans” property=”cc”/><span style="color: #000000"&gt; 属性介绍: value:变量的内容,要保存的内容,可以是el表达式或变量 var:要保存内容的变量名称 scope:保存内容的作用范围,默认值:page target:要修改属性的对象名,一般是Javabeans对象名 property:要修改Javabeans的属性</span></pre>

?????????????????? 3.标记,用于删除变量? ? ? ? ? ? ? ? ? ? ? ? ?

</span><c:remove var=”name” scope=”page”><span style="color: #000000"&gt; 属性介绍: var:要删除的变量的名称 scope:变量所属于的范围</span></pre>

?????????????????? 4.标记,捕捉代码中的错误并赋值给指定变量? ? ? ? ? ? ? ? ? ? ? ??

</span><c:<span style="color: #0000ff"&gt;catch</span> var=”name”><span style="color: #000000"&gt; Body content </span></c:<span style="color: #0000ff"&gt;catch</span>><span style="color: #000000"&gt; 属性介绍 Var:将违例信息保存到指定的变量中,这个属性可有可无

?????????????????? 5. 用法与Java代码中的if代码的用法相同,标记可以包括内容,也可以不包括内容? ? ? ? ? ? ? ? ? ? ? ? ? ?

</span><c:<span style="color: #0000ff"&gt;if</span> test=”condition” var=”name” scope=”page”><span style="color: #000000"&gt; Body content </span></c:<span style="color: #0000ff"&gt;if</span>><span style="color: #000000"&gt; 属性介绍: test:判断的条件

scope:保存condition值的变量的作用范围,默认:page

                                 var:”存储判断条件的变量”</span></pre>

? ? ? ? ? ? ? ? ? ??

?????????????????? 6.标记

?????????????????? 不能单独使用,需要配合或者使用

?????????????????? 7.,当满足条件时,执行,不满足时不执行,需要嵌套到标记里面

</span><c:when test=”<span style="color: #0000ff"&gt;true</span>”><span style="color: #000000"&gt; 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"&gt; Body content </span></c:otherwise><span style="color: #000000"&gt; 该标记没有属性,同样需要嵌套到</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"&gt;

                                 Body content

                        </span></c:forEach><span style="color: #000000"&gt;

               属性介绍:

                        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"&gt; Body content</span><br><span style="color: #000000"&gt; Name:${name}</span><br><span style="color: #000000"&gt; Index:${i.index}</span><br><span style="color: #000000"&gt; Count:${i.count}</span><br><span style="color: #000000"&gt; First:${i.first}</span><br><span style="color: #000000"&gt; Last:${i.last} </span></c:forEach><span style="color: #000000"&gt; 属性介绍: 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"&gt; 属性介绍: Items:需要进行分隔处理的字符串 delims:分隔符号 begin:开始索引 默认值:</span>0<span style="color: #000000"&gt; end:结束索引,默认值:集合中最后一个成员的索引 step:步长,默认:</span>1<span style="color: #000000"&gt; var:代表当前成员变量的名称 varStatues:包含遍历状态的变量</span></pre>

?????????????????? 11.可以把其他静态或者动态文件包含到jsp页面中,? ? ? ? ? ? ? ? ??

的区别是只能包含和自己在同一个web应用中的文件,> 示例代码: </span><c:<span style="color: #0000ff"&gt;import</span> url=”url” context=”thiswebname” var=”name” scope=”page” charEncoding=”utf-8”> <c:param> </c:<span style="color: #0000ff"&gt;import</span>><span style="color: #000000"&gt; 或者 </span><c:<span style="color: #0000ff"&gt;import</span> url=”url” context=”thiswebname” varReader=”varReadername” scope=”page”><span style="color: #000000"&gt; Body content </span></c:<span style="color: #0000ff"&gt;import</span>><span style="color: #000000"&gt; 属性介绍: url:需要导入页面的URL地址 context:本地的web应用的名字,默认值:当前应用的名字 charEncoding:设置导入数据的字符编码,默认值:ISO</span>-8859-1<span style="color: #000000"&gt; 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"&gt; 标签不包含内容: </span><c:url value=”http:<span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;www.baidu.com” context=”thiswebname” var=”website” scope=”page”></span> <c:param> </c:url><span style="color: #000000"&gt; 属性介绍: value</span>=<span style="color: #000000"&gt;”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"&gt; 或者 </span><c:redirect url=”value” context=”context”> <c:param> </c:redirect><span style="color: #000000"&gt; 属性介绍: url:url地址 context:要转向的web应用的名字,默认值:当前web应用的名字</span></pre>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读