JSTL 常用标签总结

本文为博主原创,更多好文章请点击这里

  • 功能: 主要用来显示数据的内容
  • 属性列表:
名称 说明 必须 默认值
value 需要显示出来的值
default 如果value值为null,则显示default的值
escapeXml 是否转换特殊字符,如:<转换成< ture

* 实例:使用核心标签库,并输出数据

out value="${param.name}" default="welecome jgl to my website!"/> 
out value="${param.name}">welecome jgl to my website!out> 
<%--value 属性是必添的,escapeXml 属性是 true 时,不解析特殊字符,false 时,解析特殊 字符--%> 
out value="${param.name}"ecapeXml="false"><c:out>out> 

  • 功能: 主要用来将变量存储至JSP范围中或是JavaBean 的属性或 Map 对象中
  • 属性列表:
名称 说明 必须 默认值
value 需被存储的值
var 欲存入的变量名称
scope var变量的JSP范围 page
target JavaBean 或 Map 对象
property 指定target对象的属性

* 实例:将变量设置到 Jsp 范围内,并输出

<%--将变量定义在 Jsp 范围内--%> 
<%--value 属性的两钟使用方式--%> 
set var="username" value="jack" scope="session"/>
set var="pwd" scope="session">000set>
<%--通过 el 表达式语言输出--%>
${sessionScope.username} ${sessionScope.pwd}
<%--通过 jstl 中out>标签输出--%> 
out value="${sessionScope.username}"/> 
  • 实例 2:将变量设置到 javaBean 对象内,并输出
<jsp:useBean id="stu" class="net.pcedu.student"/>
<%--通过set>标签给 javaBean 对象的 age 属性设值--%> 
<c:set value="16" target="${stu}" property="age"/>
<%--输出 javaBean 对象的属性值--%> 
年龄:<c:out value="${stu.age}"/> 

  • 功能: 主要负责移除变量
  • 属性列表:
名称 说明 必须 默认值
var 欲移除的变量名称
scope Var 变量的 JSP 范围 page

* 实例:使用核心标签库,并输出数据

remove var="username" scope="session"/>
${sessionScope.username}—输不出结果 

  • 功能: 主要用于进行 if 判断,如果为true,则输出标签体中的内容
  • 属性列表:
名称 说明 必须 默认值
test 如果表达式的结果为ture,则执行体内容,false则相反
var 用来存储 test 运算的结果 (true或false)
scope Var 变量的 JSP 范围 page

* 实例:利用标签设置 javaBean 的属性 age,在 jsp 页面中获取 age,如果 age<18,输出相应信息

<%--通过标签给 javaBean 对象的 age 属性设值--%> 
"16" target="${stu}" property="age"/>
<%--输出 javaBean 对象的属性值--%> 
年龄:"${stu.age}"/> 
<%--当 if 判断为 true 时,输出标签体的内容--%> 
if test="${stu.age<18}" var="young" scope="session">对不起,未成年,不能访问这个网站...if> 
<%--输出 if 语句的判断结果--%> 
判断结果:"${sessionScope.young}"/> 

  • 功能: 为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一遍。
  • 属性列表:
名称 说明 必须 默认值
var 用来存放现在指定的成员
items 被迭代的集合对象
varStatus 用来存放现在指的相关成员学习
begin 开始的位置 0
end 结束的位置 最后一个成员
step 每次迭代的间隔数 1

* 实例:利用标签设置 javaBean 的属性 age,在 jsp 页面中获取 age,如果 age<18,输出相应信息

<%@ page contentType="text/html;charset=gbk"%> 
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> 
<%@ page import="java.util.*,net.pcedu.core.UserInfo" %> 
<%--将 javabean 对象存放到集合中--%> 
<% 
List users=new ArrayList(); 
for(int i=0;i<5;i++) { 
UserInfo u=new UserInfo(); 
u.setName("jack-"+i); 
u.setPwd("00"+i); 
users.add(u); 
session.setAttribute("users",users); } 
%> 
<%--注意:EL中只可通过 11 个隐含对象来输出表达式中的内容(因此直接将 List 对象添加到 EL 表达式中不可用)--%> 
<%--通过迭代出集合中的信息>--%>
<h1>用户信息h1> 
<table> 
    <tr> 
        <th>用户名th> 
        <th>密码th> 
        <th>当前行的索引th> 
        <th>已遍历的行数th> 
        <th>是否第一行th> 
        <th>是否最后一行th> 
    tr> 
<c:forEach var="user" items="${users}" varStatus="status">
    <%--加上 begin="1" end="3" step="1"属性,将只显示前三条记录--%> 
    <tr> 
        <td><c:out value="${user.name}"/>td> 
        <td><c:out value="${user.pwd}"/>td> 
        <td><c:out value="${status.index}"/>td>
        <%--输出当前行的索引号--%> 
        <td><c:out value="${status.count}"/>td>
        <%--输出已遍历的行数--%> 
        <td><c:out value="${status.first}"/>td>
        <%--输出当前行是否是第一行 --%> <td>
        <c:out value="${status.last}"/>td>
    <%--输出当前行是否是最后一行 --%> 
    tr> 
c:forEach> 

table> 

<%--通过输出从 110 的数据--%>
<c:forEach var="num" begin="1" end="10" step="2">
<c:out value="->${num}">c:out> 
c:forEach> 
<%--通过遍历数组,枚举,集合等--%> 
<% 
    int[]intarr=new int[]{10,20,30,40,50};
    String[]strarr=new String[]{"I","am","a","handsome","boy"}; 
    Vector v=new Vector(); 
    v.add("This"); 
    v.add("is"); 
    v.add("a"); 
    v.add("Enumeration"); 
    v.add("example"); 
    Enumeration e=v.elements(); 
    HashMap h=new HashMap(); 
    h.put("hello","0"); 
    h.put("hello1","1"); 
    h.put("hello2","2"); 
    h.put("hello3","3"); 
    h.put("hello4","4");
    request.setAttribute("intarr",intarr);
    request.setAttribute("strarr",strarr);
    request.setAttribute("e",e);
    request.setAttribute("h",h); 
%> 

<br> 
<h1>--遍历整形数组--h1> 
<%--遍历整形数组--%> 
<c:forEach var="i" items="${intarr}"> 
<c:out value="${i}">c:out> 
c:forEach> <br> 
<h1>--遍历字符串数组--h1> 
<%--遍历字符串数组--%> 
<c:forEach var="s" items="${strarr}"> 
    <c:out value="${s}">c:out> 
c:forEach> <br> 
<h1>--遍历枚举--h1> 
<%--遍历枚举--%> 
<c:forEach var="ee" items="${e}"> 
    <c:out value="${ee}">c:out> 
c:forEach> <br> 
<h1>--遍历 HashMap--h1> 
<%--遍历 HashMap--%> 
<c:forEach var="hh" items="${h}"> 
    <c:out value="${hh.key}"/>=<c:out value="${hh.value}"/> 
c:forEach> 

  • 功能: 可以把其他静态或动态文件包含至本身 JSP 网页。
  • 属性列表:
名称 说明 必须 默认值
url 文件被包含的地址
context 相同容器下,其他web必须以“/”开头
var 储存被包含文件的内容
scope Var 变量的 JSP 范围 page
var 被包含文件内容的编码格式
scope 储存被包含的文件的内容

* 注意:的区别
* 只能包含和自己同一个 Web 应用程序下的文件;而除了能 包含和自己同一个 Web 应用程序的文件外,亦可以包含不同 Web 应程序或者是其 它网站的文件。
* 实例:包含同一个 web 应用程序的文件和不同 webweb 应用程序的文件

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 
<%@ page contentType="text/html; charset=gb2312" language="java" %> 

<%--引入绝对路径的文件--%>
<%--注意:被引入的文件将被解析为 html 的形式嵌入引用文件--%> 
<h1>引入绝对路径的文件h1> 
<c:import url="http://127.0.0.1:8080/test/c_beimported.jsp" var="file" charEncoding="gbk"/>
<blockquote> 
    <pre> 
        <c:out value="${file}">c:out> 
    pre> 
blockquote> 

<%--引入相对路径的文件--%>
<h1>引入相对路径的文件h1> 
<blockquote> 
    <pre> 
        <c:import url="c_beimported.jsp" var="f"/> <c:out value="${f}">c:out> 
    pre> 
blockquote> 

<%--传递参数到被引入文件--%>
<h1>传递参数到被引入文件h1> 
<blockquote> 
    <pre> 
        <c:import url="c_beimported.jsp" var="ff"> 
            <c:param name="name" value="jack"/> 
        c:import>

        <c:out value="${ff}">
        c:out> 
    pre> 
blockquote> 

  • 功能: 主要用来产生一个 URL
  • 属性列表:
名称 说明 必须 默认值
value 则执的URL
context 相同容器下,必须以“/”开头
var 储存被包含文件的内容
scope var 变量的 JSP 范围 page

* 实例: 将一个 url 存放到一个变量中,并输出 url

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 
<%@ page contentType="text/html; charset=gb2312" language="java" %> 
<%--将一个 url 存放到一个变量中,并输出 url--%>
<c:url var="myurl" value="c_beimported.jsp" scope="session"> 
<c:param name="name" value="jgl"/> 
c:url> 
<c:out value="${myurl}"/> 

本文为博主原创,更多好文章请点击这里

你可能感兴趣的:(JAVA)