JSTL表达式标签

来源:互联网 发布:tensorflow 人脸检测 编辑:程序博客网 时间:2024/05/08 14:49

JSTL表达式标签


<c:out />输出标签

参数说明:

value:用于指定要输出的变量或者表达式。可以为EL

escapeXml:可选属性,用于指定是否转化特殊字符。默认值为true,表示转化。例如将”<”转化为” &lt”;

default:可选属性,用于指定value属性的值等于null时,将要显示的默认值,默认为““。


<c:set/>变量设置标签

语法:

<c:set var="name" value="8899"[scope="page[request][response][session][application]"]/></c:set>

<c:set value="value"property="propName"target="object"/>

参数说明:

var:用于指定变量名

value:用于指定变量值,可以使用EL

target:用于指定存储变量或者默认标签体的目标对象,可以是javaBean或者Map集合对象(target属性不能直接是定javaBean或者Map集合对象,而是通过El表达式或者一个脚本表达式表达真正的对象)

property:用于指定目标对象存储路径的属性名

案例:

package com.base.bean;

publicclass Bean {

    private Stringname;

    public void setName(String name) {

       this.name =name;

    }

    public String getPwd() {

       returnpwd;

    }

}

 

<jsp:useBeanid="u"class="com.base.bean.Bean"></jsp:useBean>

<c:setvalue="李旺"property="name"target="${u}"/>

<c:outvalue="${u.name }"/>

 

<c:remove />标签移除属性

参数说明:

var:用于指定要移除的变量名

scope:指定变量的有效范围


<c:catch>捕获异常标签

可以用来捕获其他JSTL标签引起的异常信息,而且可以获取页面中由其他的jsp脚本标识和动作标识所产生的运行时异常信息,但不能是语法错误

<c:catchvar=”name”>

         //可能存在的异常代码;

</c:catch>


URL相关的标签

<c:import />导入标签

可以导入站内其他网站的静态和动态文件到Web文件中,例如导入其他网站的天气信息到自己的网页

与<jsp:include />标签类似,<jsp:include />只能导入站内资源,而<c:import/>可以导入站内资源或者站外资源

参数说明:

url:用于指定被导入的文件资源地址(如果url属性为null、空、或者无效,将抛出javax.servlet.ServletException)

context:上下文路径,用于访问同一个服务器的其他Web应用,其值必须以“/”开头,如果指定了该属性,那么url属性值也必须以"/"开头

var:用于指定变量名称,该变量用于以String类型存储获取的资源、

scope:存在范围

varReader:用于定义一个变量名,该变量用于以Reader类型存储被包含的文件(reader对象只能在<c:import>标记的开始标签和家属标签之间使用)

charEncoding:用于指定导入文件的编码格式

标签体:可选,如果需要为导入的网站传递参数,则可以通过<c:param>标签设置参数

 

<c:url/>动态生成的URL标签

用于动态的生成一个URL路径的字符串,这个生成的字符串可以赋予HTML的<a>标签实现URL的链接,或者用这个字符串实现URL字符串实现网页的转发与重定向

value:用于指定要处理的URL地址,可以为EL表达式


<c:redirect>重定向标签

可以将客户端发出的request请求重定向到其他URL服务器,由其他程序处理用户的请求,可以使用<c:param>标签传递参数信息

url:用于指定待定向资源的URL


流程控制标签

<c:if>条件判断标签

test:必选属性,用于指定给条件表达式,可以使用EL

var:可选属性,用于指定变量名,该变量用于保存test属性的判断结果


<:choose>条件选择标签

它是作为<c:when>和<c:otherwise>标签的父标签来用


循环标签

<c:forEach>循环标签

items:用于指定被循环遍历的对象,多用于数组和集合类,并且可以通过EL表达式指定

var:循环体的变量名

begin:用于规定循环的起始位置,没有指定,则从几个的第一个值开始迭代

end:用于指定循环的终止位置,没有指定,则从几个的最后一个值开始迭代

step:循环的补偿,可以使用EL

varStatus:用于指定循环的状态变量

变量

类型

描述

index

int

当前循环的索引值,从0开始

count

int

当前循环计数,从1开始

first

boolean

是否为第一次循环

last

boolean

是否为中最后一次循环

 案例:

<body>

    <%

    List<String> list=new ArrayList<String>();

    list.add("哈哈");

    list.add("什么");

    list.add("李旺");

    %>

    <b>遍历List集合中第一个元素以后的元素(不包括第一个元素)</b><br>

    <s:forEachitems="<%=list%>"begin="1"var="l"varStatus="v">

    ${v.index}&nbsp;${l}

    </s:forEach>

      <br><b>10以内的奇数</b><br>

      <s:forEachend="10"begin="1"step="2"var="l">

        ${l}

      </s:forEach>

 </body>


<c:forTokens>迭代标签

将一个字符串分割开,根据分割的数量确定循环的次数

delims:用于指定分割字符串的分隔符,可同时有多个字符串

原创粉丝点击