正文

JSTL详解(二)2006-07-30 13:14:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ggbm/17014.html

分享到:

一般用途的标签        在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>   好了,今天先讲到这里,有疑问或者指正的可以留言,谢谢。。

阅读(4724) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册