jsp标准标签库(jstl)-亚博电竞手机版

jstl 规范由 sun 公司制定,由 apache 的 jakarta 小组负责实现。jstl 由 5 个不同功能的标签库组成,包括 core、i18n、xml、sql 以及 functions,本节只简要介绍 jstl 的 core 和 functions 标签库中几个常用的标签。

配置 jstl

jstl 现在已经是 java ee5 的一个组成部分,如果采用支持 java ee5 或以上版本的集成开发环境开发 web 应用程序,就不需要再配置 jstl 了。 如果你再用的是 eclipse 平台,则需要配置 jstl。配置 jstl 的步骤如下:

1)复制 jstl 的标准实现

在 tomcat 的 \webapps\examples\web-inf\lib 目录下找到 taglibs-standard-impl-1.2.5.jar 和 taglibs-standard-spec-1.2.5.ja r文件,然后复制到 web 工程的 web-inf\lib 目录下。

2)使用 taglib 标记定义前缀与 uri 引用

如果使用 core 标签库,首先需要在 jsp 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

如果使用 functions 标签库,首先需要在 jsp 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

核心标签库之通用标签

1. 标签

标签用来显示数据的内容,与 <%=表达式%> 或 ${表达式} 类似。格式如下:

defaultvalue

其中,value 值可以是一个 el 表达式,也可以是一个字符串;default 可有可无,当 value 值不存在时输出 defaultvalue。例如:



程序输出的结果如图 1 所示。 图 1标签

2. 标签

1)设置作用域变量

用户可以使用 在 page、request、session、application 等范围内设置一个变量。格式如下:

该代码将 value 值赋给变量 varname。

相当于

<%session.setattribute("username","zhao");%>

2)设置 javabean 的属性

在使用 设置 javabean 的属性时必须使用 target 属性进行设置。格式如下:

该代码将 value 值赋给 target 对象(javebean 对象)的 propertyname 属性。如果 target 为 null 或没有 set 方法则抛出异常。

3. 标签

如果要删除某个变量,可以使用 标签。例如:

相当于

<%session.removeattribute("username")%>

核心标签库之流程控制标签

1. 标签

标签实现 if 语句的作用,具体语法格式如下:

主体内容

其中,条件表达式可以是 el 表达式,也可以是 jsp 表达式。如果表达式的值为 true,则会执行 的主体内容,但是没有相对应的 标签。如果想在条件成立时执行一块内容,不成立时执行另一块内容,可以使用 标签。

2. 标签

标签实现 if/elseif/else 语句的作用,具体语法格式如下:
               主体内容1                   主体内容2                   表达式都不正确时执行的主体内容      

核心标签库之迭代标签

1. 标签

标签可以实现程序中的 for 循环。语法格式如下:

循环体

其中,items 属性可以是数组或 collection 对象,每次循环读取对象中的一个元素,并赋值给 var 属性指定的变量,之后就可以在循环体中使用 var 指定的变量获取对象的元素。例如,在 controller 或 servlet 中有这样一段代码:
 arraylist users=new arraylist(); userbean ub1=new userbean("zhao",20); userbean ub2=new userbean("qian",40); userbean ub3=new userbean("sun",60); userbean ub4=new userbean("li",80); users.add(ub1); users.add(ub2); users.add(ub3); users.add(ub4); request.setattribute("userskey", users);
那么在对应 jsp 页面中可以使用 循环遍历出数组中的元素。代码如下:
          
姓名 年龄
${user.name} ${user.age}
在有些情况下需要为 标签指定 begin、end、step 和 varstatus 属性。begin 为迭代时的开始位置,默认值为 0。
  • end 为迭代时的结束位置,默认值是最后一个元素。
  • step 为迭代步长,默认值为 1。
  • varstatus 代表迭代变量的状态,包括 count(迭代的次数)、index(当前迭代的索引,第一个索引为0)、first(是否为第一个迭代对象)和 last(是否为最后一个迭代对象)。
例如:
 <%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>     insert title here                    
value square index
${x } ${x*x } ${status.index }
上述程序的运行结果如图 2 所示。 图 2标签

2. 标签

用于迭代字符串中由分隔符分隔的各成员,它通过 java.util.stringtokenizer 实例来完成字符串的分隔,属性 items 和 delims 作为构造 stringtokenizer 实例的参数。语法格式如下:

循环体

例如:

${name}

上述程序的运行结果如图 3 所示。 图 3标签 标签与 标签一样,也有 begin、end、step 和 varstatus 属性,并且用法相同,这里不再赘述。
展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图