zoukankan      html  css  js  c++  java
  • JSTL详解(二)

     JSTL详解(二) 

         在JSTL中,一般用途的标签只要是指具有输出,设置变量,和错误处理等功能的标签,他们在jsp中使用很频繁,它们有:

    l         <c:out>

    l         <c:set>

    l         <c:remove>

    l         <c:catch>

    下面,我来讲述一下他们的作用:

    <c:out>

     

    它是一个输出的标签,负责把计算出的结果输出到jspwriter,就跟调用out.println()基本一样。没有BODY的时候,使用下面的语法:

    <c:out value=”value”  [escapeXml]=”{true|false}”  [default=”defaultValue”]/>

    有BODY的时候,使用下面的语法:

    <c:out value=”value”  [escapeXml]=”{true|false}” >

        这里是BODY,可以是任何合法的jsp或者是html代码。

    </c:out>

    注意,escapeXml的作用是是否将代码交给xml解析器解释,true为交给xml解析器解释,false为交给浏览器解释,见红色部分代码

    举例:c_out.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    <%@ page contentType="text/html; charset=gb2312" language="java" %>

    <html>

    <head>

      <title>JSTL: c:out的使用</title>

    </head>

    <body bgcolor="#FFFFFF">

    <hr>

    <c:set var="sessionAttr" value="sessionValue" scope="session"/>

    <c:set var="pageAttr" value="pageValue" scope="page"/>

    <c:set var="requestAttr" value="requestValue" scope="request"/>

     

    <c:out value="以下输出的是前面设置的属性<br>" escapeXml="false"/>

     

     

    <c:out value="${sessionAttr}"/>

    <c:out value="${pageAttr}"/>

    <c:out value="${requestAttr}"/>

    <c:out value="${test_nodef}" default="没有test_nodef这个变量"/>

    </html>

     

    <c:set>

     

    这个标签用于在某个范围(page,request,session,application)里面设置特定的值(默认为page),或者设置某个已经存在的javabean的属性。类似于<%request.setAttribute(“name”,value)%>

    语法:

    1、使用value属性设置一个特定范围里面的属性:

    <c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”]/ >

    2、使用value属性设置一个特定范围里面的属性,带有BODY:

    <c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”] >

        Body content

    </c:set>

    3、设置某个特定对象的一个属性:

    <c:set value=”value”  target=”target”  property=”propertyName”/ >

    4、设置某个特定对象的一个属性, 带有BODY:

    <c:set value=”value”  target=”target”  property=”propertyName” >

        Body content

    </c:set>

    举例:c_set.jsp

     

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    <%@ page contentType="text/html; charset=gb2312" language="java" %>

     

    <jsp:useBean id="user" class="com.j2ee14.ch12.User"/>

    <html>

    <head>

      <title>JSTL:的使用c:set</title>

    </head>

    <body bgcolor="#FFFFFF">

    <hr>

    设置一个属性,然后输出它<br>

    <c:set var="maxCount" value="100"/>

    <c:out value="${maxCount}"/>

    <hr>设置属性时,把它的值放在标签的body中。

    <c:set var="password">

    ksdjfxsdf234234

    </c:set>

    <c:out value="${password}"/>

    <hr>设置javaBean的属性,然后输出这些属性值:

    <c:set value="hellking" target="${user}" property="userName"/>

    userName=<c:out value="${user.userName}"/>

     

    <hr>设置属性,并且指定它们的范围,属性的默认范围是page。

    <c:set value="20" var="maxIdelTime" scope="session"/>

    <c:set value="next.jsp" var="nextPage" scope="page"/>

     

    </body>

    </html>

     

    <c:remove>

     

    它的作用是删除某个变量或者属性。类似于<%session.removeAttribute(“name”)%>,它的语法是:<c:remove var=”varName” [scope= “{page|request|session|application}”]/ >

    举例:c_remove.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    <%@ page contentType="text/html; charset=gb2312" language="java" %>

    <html>

    <head>

      <title>JSTL:c:remove的使用</title>

    </head>

    <body bgcolor="#FFFFFF">

    <c:set value="10000" var="maxUser" scope="application"/>

    <c:set value="10" var="count" scope="session"/>

    maxUser=<c:out value="${maxUser}"/><br>

    count=<c:out value="${count}"/>

    <hr>调用c:remove...

    <c:remove var="maxUser" scope="application"/>

    <c:remove var="count"/>

     

    调用了c:remove后,参数值为:

    maxUser=<c:out value="${maxUser}"/>,

    count=<c:out value="${count}"/>,

    </body>

    </html>

     

    <c:catch>

     

    它的作用是捕捉由嵌套在它里面的标签所抛出来的异常。类似于<%try{}catch{}%>,它的语法是:<c:catch [var=”varName”]>nested actions</c:catch>

    举例:c_catch.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    <%@ page contentType="text/html; charset=gb2312" language="java" %>

    <html>

    <head>

      <title>JSTL:catch的使用</title>

    </head>

    <body bgcolor="#FFFFFF">

    <c:catch var="error">

    <%

      Integer.parseInt("sdkfj");

     %>

     </c:catch>

     <hr>异常:

     <c:out value="${error}"/>

     <hr>异常 exception.getMessage=

     <c:out value="${error.message}"/>

    <hr> 异常exception.getCause=

     <c:out value="${error.cause}"/>

    </body>

    </html>

  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/james1207/p/3255864.html
Copyright © 2011-2022 走看看