欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP——JSTL核心标签(2)

程序员文章站 2022-06-21 22:40:16
1.迭代标签 1.1 标签 在一个collection中迭代计算他的body内容,或是重复迭代固定的次数。 (1)最简单的迭代标签 --> 在这里,var代表当前条...

1.迭代标签

1.1 标签

在一个collection中迭代计算他的body内容,或是重复迭代固定的次数。
(1)最简单的迭代标签


        -->

在这里,var代表当前条目的变量名称,begin指的是开始的元素,end指结束的元素,两者都包含在内。
它的输出是这样的:

JSP——JSTL核心标签(2)

另外,我们也可以通过step属性来指定步长,如下:


        -->

这里表示输出的是1到10之间的所有奇数。

(2)迭代一个arraylist集合

假设我们在requestscope中放入了一个arraylist,中间加入的是user对象,如下:

<%
arraylist array = new arraylist();
user user1 = new user();
user1.setname("u1");
user1.setage(20);

user user2 = new user();
user2.setname("u2");
user2.setage(21);

user user3 = new user();
user3.setname("u3");
user3.setage(22);

array.add(user1);
array.add(user2);
array.add(user3);

request.setattribute("users", array);
%>

我们利用foreach标签可以很简单的输出这个arraylist集合中的内容,如下:


    
    
    

这里用items属性来指定要循环的集合。
另外,我们也可以在这里指定beginendstep属性,来指定输出哪些对象。

(3)迭代一个hashmap

假设我们上面的user都是放在hashmap中的,如下:

<%
map map = new hashmap();
user user1 = new user("小明",12);
user user2 = new user("小强",13);
user user3 = new user("小华",14);
map.put("aa", user1);
map.put("bb", user2);
map.put("cc", user3);
request.setattribute("persons",map);
%>

那么,我们可以通过如下方式迭代:


    没有人!


    key = ${person.key}; value=${person.value.name},${person.value.age}岁
    

其实,与arraylist的迭代方式类似,只是,这里通过var.key返回hashmap中的key值,通过var.value返回hashmap中的value值,value也可以是一个对象,如本例。

另外,注意el表达式中empty判断的用法!

1.2 标签

标签可以根据某个分隔符分隔指定字符串。
比如:

<%
    request.setattribute("abc", "12;56;你好;gavin");
%>

    ${temp}

另外,这里也可以指定beginendstep属性。与前述类似。

2.url相关的标签

url标签就是和页面导航,重定向,资源获得,参数传递相关的标签。

主要有:
(1)标签,用来给包含或者重定向的页面传递参数
(2)标签,重定向至一个新的url
(3)标签,使用可选的查询参数来创造一个url

这几个标签的用法都比较简单。