收藏 分销(赏)

标准标签库JSTL基本用法文档.doc

上传人:pc****0 文档编号:7460433 上传时间:2025-01-05 格式:DOC 页数:7 大小:574.50KB 下载积分:10 金币
下载 相关 举报
标准标签库JSTL基本用法文档.doc_第1页
第1页 / 共7页
标准标签库JSTL基本用法文档.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
标准标签库JSTL基本用法 标准标签是JSP提供的库文件,所以在使用之前需要将库文件的jar包导入到工程中去,导入方法如下: 选择1.1版本,导入之后,在工程的lib中添加了两个jar包—jstl.jar和standerd.jar,如下图: 我们所用到的标准标签的class文件就在这里面。 同时,在web-inf中也添加了很多tld文件,来配置后台处理类 打开c.tld配置文件,比较它和我们以前自定义的tld配置文件的内容是否一样。 注意:在使用标签之前一定要声明taglib指令: <%@ taglib uri=" prefix="c"%> 其中uri在标准标签的c.tld(standerd.jar)中有定义。 • 基本标签c:out 的用法 –作用 • 使用JspWriter输出字符串、变量、JavaBean属性值 –用法举例 • 输出一个字符串,或者变量的值 –<c:out value=" this is a string" /> • 输出一个变量,先在request中共享一个变量name: <% request.setAttribute("name","amaker"); request.setAttribute("user",u); %> –<c:out value="${name}" /> • 输出一个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=" prefix="c"%> 5)在页面上输出一个JavaBean的值 <h2>输出一个Java Bean 属性</h2> <c:out value="${user.id}"></c:out><br/> <c:out value="${user.name}"></c:out> • 基本标签c:set 的用法 –作用 • 在某个作用域中设置变量或JavaBean的属性值 –用法举例 • 使用value 设置特定范围内变量的值 <h2> 使用Value设置变量的值 </h2> <c:set var="name" value="kite" /> <c:out value="${name}"></c:out> • 使用body设置特定范围内变量的值 <h2> 使用body设置变量的值 </h2> <c:set var="age">19</c:set> <c:out value="${age}" /> • 设置对象的属性,使用target、property、value <h2> 给JavaBean赋值 </h2> <jsp:useBean id="user" class="com.amaker.bean.User"></jsp:useBean> <c:set target="${user}" property="name" value="Joe"></c:set> <c:out value="${user.name}"></c:out> • 指定范围内设定变量的值,并在不同的位置取这个变量,观察什么时候能取到这个变量 (JSP共享变量的四个作用域:page request session application) (1)在各个作用域中共享变量 <h2> 指定变量的Scope </h2> <c:set var="app_name" value="app_value" scope="application"></c:set> <c:set var="session_name" value="session_value" scope="session"></c:set> <c:set var="request_name" value="request_value" scope="request"></c:set> <c:set var="page_name" value="page_value" scope="page"></c:set> (2)在当前页面来取变量,四个都能取到 <c:out value="${app_name}"></c:out><br/> <c:out value="${session_name}"></c:out><br/> <c:out value="${request_name}"></c:out><br/> <c:out value="${page_name}"></c:out><br/> (3)新建一个jsp页面test_c_set.jsp,用c: out标签取四个变量,在共享变量的页面请求转发到test_c_set.jsp页面,只能取到前三个。(请求转发还是原来的请求,request中变量还能取到) <jsp:forward page="/test_c_set.jsp"></jsp:forward>    (注意:转发页面也要使用标准标签指令!!) (4)直接到浏览器中输入 http://localhost:8080/JSP_JSTL/test_c_set.jsp,就只能取到前两个 (5)关闭浏览器,重新打开,只能取到第一个了。 • 条件判断标签c:if 的用法 –作用 • 条件判断输出 –例如:根据用户的权限,来显示页面(如:是否有删除权限) –用法举例 例1、判断是否admin权限,是则能使用删除按钮,否则删除按钮为不可用状态。 <body> <h2>C IF</h2> <% request.setAttribute("username","zs"); %> <c:if test="${username=='admin'}"> <input type="button" value="Delete"/> </c:if> <c:if test="${username!='admin'}"> <input type="button" value="Delete" disabled="disabled"/> </c:if> </body> 例2、 <c:if test=${age<18}> 你的年龄太小,不能访问该页面! </c:if> • 条件判断标签c:choose、c:when、c:otherwise 的用法 –作用 • 判断多重条件,这个三个标签必须一起使用 –用法举例:判断成绩的区间,分别给出优秀、良好、一般的等级。 <body> <h2>C Choose</h2> <% request.setAttribute("score",50); %> <c:choose> <c:when test="${score>=90}">优秀!!!</c:when> <c:when test="${score<90&&score>80}">良好!!</c:when> <c:otherwise>一般!</c:otherwise> </c:choose> </body> • 迭代循环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代码如何写: <table> <tr><th>ID</th><th>Name</th></tr> <% for(int j=0;j<list.size();j++) { User u2 = (User)list.get(j); out.println("<tr>"); out.println("<td>"); out.println(u2.getId()); out.println("</td>"); out.println("<td>"); out.println(u2.getName()); out.println("</td>"); out.println("</tr>"); } %> </table> 步骤3:采用标签 <table> <tr><th>ID</th><th>Name</th></tr> <c:forEach var="user" items="${UserList}"> <%--var是给每轮迭代的对象起的别名,items 指的是取到的集合共享对象的名字--%> <tr> <td> <%--<c:out value="${user.id}"></c:out>--%> ${user.id} </td> <td> <%-- <c:out value="${user.name}"></c:out> --%> ${user.name} </td> </tr> </c:forEach> </table> 可以看到,如果不使用标签,那么需要用Java代码动态拼出一个table,比较麻烦,和页面的效果结合非常困难,而采用标签则非常简单。 • 用法2:固定次数迭代 <c:forEach var="k" begin="1" end="20"> ${k } </c:forEach> • 用法3:固定次数,指定步长迭代 <c:forEach var="k" begin="1" end="20" step="2"> ${k } </c:forEach> • 用法4:获得迭代状态:通过属性status来获得迭代状态 <table> <tr><th>ID</th><th>Name</th><th>index</th><th>count</th><th>first?</th><th>last?</th></tr> <c:forEach var="user" items="${UserList}" varStatus="status"> <tr> <td> ${user.id} </td> <td> ${user.name} </td> <td> ${status.index } </td> <td> ${status.count } </td> <td> ${status.first } </td> <td> ${status.last } </td> </tr> </c:forEach> </table> 7
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服