JSTL 常用标签总结

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

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

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

<c:out value="${param.name}" default="welecome jgl to my website!"/> 
<c:out value="${param.name}">welecome jgl to my website!</c:out> 
<%--value 属性是必添的,escapeXml 属性是 true 时,不解析特殊字符,false 时,解析特殊 字符--%> 
<c:out value="${param.name}"ecapeXml="false">&lt;c:out&gt;</c:out> 
<c: set>
  • 功能: 主要用来将变量存储至JSP范围中或是JavaBean 的属性或 Map 对象中
  • 属性列表:
名称说明必须默认值
value需被存储的值
var欲存入的变量名称
scopevar变量的JSP范围page
targetJavaBean 或 Map 对象
property指定target对象的属性

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

<%--将变量定义在 Jsp 范围内--%> 
<%--value 属性的两钟使用方式--%> 
<c:set var="username" value="jack" scope="session"/>
<c:set var="pwd" scope="session">000</c:set>
<%--通过 el 表达式语言输出--%>
${sessionScope.username} ${sessionScope.pwd}
<%--通过 jstl 中<c:out>标签输出--%> 
<c:out value="${sessionScope.username}"/> 
  • 实例 2:将变量设置到 javaBean 对象内,并输出
<jsp:useBean id="stu" class="net.pcedu.student"/>
<%--通过<c:set>标签给 javaBean 对象的 age 属性设值--%> 
<c:set value="16" target="${stu}" property="age"/>
<%--输出 javaBean 对象的属性值--%> 
年龄:<c:out value="${stu.age}"/> 
<c:remove>
  • 功能: 主要负责移除变量
  • 属性列表:
名称说明必须默认值
var欲移除的变量名称
scopeVar 变量的 JSP 范围page

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

<c:remove var="username" scope="session"/>
${sessionScope.username}—输不出结果 
<c:remove>
  • 功能: 主要用于进行 if 判断,如果为true,则输出标签体中的内容
  • 属性列表:
名称说明必须默认值
test如果表达式的结果为ture,则执行体内容,false则相反
var用来存储 test 运算的结果 (true或false)
scopeVar 变量的 JSP 范围page

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

<%--通过<c:set>标签给 javaBean 对象的 age 属性设值--%> 
<c:set value="16" target="${stu}" property="age"/>
<%--输出 javaBean 对象的属性值--%> 
年龄:<c:out value="${stu.age}"/> 
<%--当 if 判断为 true 时,输出标签体的内容--%> 
<c:if test="${stu.age<18}" var="young" scope="session">对不起,未成年,不能访问这个网站...</c:if> 
<%--输出 if 语句的判断结果--%> 
判断结果:<c:out value="${sessionScope.young}"/> 
<c:forEach>
  • 功能: 为循环控制,它可以将数组,集合(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 表达式中不可用)--%> 
<%--通过<c:forEach>迭代出集合中的信息>--%>
<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> 

<%--通过<c:forEach>输出从 110 的数据--%>
<c:forEach var="num" begin="1" end="10" step="2">
<c:out value="->${num}"></c:out> 
</c:forEach> 
<%--通过<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> 
<c:import>
  • 功能: 可以把其他静态或动态文件包含至本身 JSP 网页。
  • 属性列表:
名称说明必须默认值
url文件被包含的地址
context相同容器下,其他web必须以“/”开头
var储存被包含文件的内容
scopeVar 变量的 JSP 范围page
var被包含文件内容的编码格式
scope储存被包含的文件的内容

* 注意:<c:import><jsp:include>的区别
* 只能包含和自己同一个 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> 
<c:url>
  • 功能: 主要用来产生一个 URL
  • 属性列表:
名称说明必须默认值
value则执的URL
context相同容器下,必须以“/”开头
var储存被包含文件的内容
scopevar 变量的 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}"/> 

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值