标准标签库STL基本用法文档

标准标签库STL基本用法文档
标准标签库STL基本用法文档

标准标签库JSTL基本用法

标准标签是JSP提供的库文件,所以在使用之前需要将库文件的jar包导入到工程中去,导入方法如下:

选择1.1版本,导入之后,在工程的lib中添加了两个jar包—jstl.jar和standerd.jar,如下图:

我们所用到的标准标签的class文件就在这里面。

同时,在web-inf中也添加了很多tld文件,来配置后台处理类

打开c.tld配置文件,比较它和我们以前自定义的tld配置文件的内容是否一样。

注意:在使用标签之前一定要声明taglib指令:

<%@ taglib uri="https://www.360docs.net/doc/c69020994.html,/jsp/jstl/core" prefix="c"%> 其中uri在标准标签的c.tld(standerd.jar)中有定义。

?基本标签c:out 的用法

–作用

?使用JspWriter输出字符串、变量、JavaBean属性值

–用法举例

?输出一个字符串,或者变量的值

?输出一个变量,先在request中共享一个变量name:

<%

request.setAttribute("name","amaker");

request.setAttribute("user",u);

%>

?输出一个JavaBean的属性

1)写一个JavaBean:User,生成get set方法

2)在声明中要import包,或者usebean

<%@ page language="java" import="java.util.*,com.amaker.bean.*" pageEncoding="gbk"%> 3)创建User对象

<%

User u = new User();

u.setId(1);

u.setName("tom");

request.setAttribute("user",u);

%>

4)声明taglib指令

<%@ taglib uri="https://www.360docs.net/doc/c69020994.html,/jsp/jstl/core" prefix="c"%>

5)在页面上输出一个JavaBean的值

输出一个Java Bean 属性


?基本标签c:set 的用法

–作用

?在某个作用域中设置变量或JavaBean的属性值

–用法举例

?使用value 设置特定范围内变量的值

使用Value设置变量的值

?使用body设置特定范围内变量的值

使用body设置变量的值

19

?设置对象的属性,使用target、property、value

给JavaBean赋值

?指定范围内设定变量的值,并在不同的位置取这个变量,观察什么时候能取到这个变量(JSP共享变量的四个作用域:page request session application)

(1)在各个作用域中共享变量

指定变量的Scope

(2)在当前页面来取变量,四个都能取到





(3)新建一个jsp页面test_c_set.jsp,用c: out标签取四个变量,在共享变量的页面请求转发到test_c_set.jsp页面,只能取到前三个。(请求转发还是原来的请求,request中变量还能取到)

(注意:转发页面也要使用标准标签指令!!)

(4)直接到浏览器中输入

http://localhost:8080/JSP_JSTL/test_c_set.jsp,就只能取到前两个

(5)关闭浏览器,重新打开,只能取到第一个了。

?条件判断标签c:if 的用法

–作用

?条件判断输出

–例如:根据用户的权限,来显示页面(如:是否有删除权限)

–用法举例

例1、判断是否admin权限,是则能使用删除按钮,否则删除按钮为不可用状态。

C IF

<%

request.setAttribute("username","zs");

%>

例2、

你的年龄太小,不能访问该页面!

?条件判断标签c:choose、c:when、c:otherwise 的用法

–作用

?判断多重条件,这个三个标签必须一起使用

–用法举例:判断成绩的区间,分别给出优秀、良好、一般的等级。

C Choose

<%

request.setAttribute("score",50);

%>

优秀!!!

良好!!

一般!

?迭代循环c:forEach的用法(重要!!!)

–作用

?迭代循环输出集合中的元素。

–用法(有三种)

?用法1:简单迭代举例

1、从集合中取出元素,显示到页面上(一般来说,集合中的元素是从数据库中得到的,我们这里为了简约起见,直接创建一个ArrayList元素,并将其共享到request中)

步骤1:创建集合元素

<%

List list = new ArrayList();

for(int i=0;i<10;i++)

{

User u = new User();

u.setId(i);

u.setName("name"+i);

list.add(u);

}

request.setAttribute("UserList",list);

%>

步骤2:先看,如果不用标签,采用Java代码如何写:

<%

for(int j=0;j

{

User u2 = (User)list.get(j);

out.println("

");

out.println("

");

out.println("

");

out.println("

");

}

%>

IDName
");

out.println(u2.getId());

out.println("

");

out.println(u2.getName());

out.println("

步骤3:采用标签

<%--var是给每轮迭代的对象起的别名,items指的是取到的集合共享对象的名字--%>

IDName

<%----%>

${user.id}

<%-- --%>

${https://www.360docs.net/doc/c69020994.html,}

可以看到,如果不使用标签,那么需要用Java代码动态拼出一个table,比较麻烦,和页面的效果结合非常困难,而采用标签则非常简单。

?用法2:固定次数迭代

${k }

?用法3:固定次数,指定步长迭代

${k }

?用法4:获得迭代状态:通过属性status来获得迭代状态

IDNameindexcountfirst?last?

${user.id}

${https://www.360docs.net/doc/c69020994.html,}

${status.index }

${status.count }

${status.first }

${https://www.360docs.net/doc/c69020994.html,st }

相关主题
相关文档
最新文档