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>

  • 相关阅读:
    未来行业
    百度网盘搜索方法
    JavaScript继承详解
    Win 7下破解Loadrunner 11(带中文版下载地址)
    NET下RabbitMQ实践[WCF发布篇]
    NET下RabbitMQ实践[示例篇]
    NET下RabbitMQ实践[配置篇]
    8个超炫的 Web 效果
    Windows下安装zip包解压版mysql
    键盘上相当于鼠标右键的快捷键和电脑快捷键大全
  • 原文地址:https://www.cnblogs.com/james1207/p/3255864.html
Copyright © 2011-2022 走看看