JSTL详解

  • 格式:doc
  • 大小:90.50 KB
  • 文档页数:23

JSP页面参数传递方式:窗体form传值(一律为String):普通取回:String param = request.getParameter("obj");EL取回:${param.param}--JSP Scopepage 当前页设置:pageContext.setAttribute(“name”,”value”);取值:Strint context = (String)pageContext.getAttribute(“name”);request 发送与请求页间forward include方式设置:request.setAttribute(“name”,value);取值:Strint context = (String)request.getAttribute(“name”);session 用户持续和服务器连接的时间application 服务器运行期间通用方法:void setAttribute(String name, Object value) 设定name属性的值为valueEnumeration getAttributeNamesInScope(int scope )取得所有scope 范围的属性Object getAttribute(String name) 取得name 属性的值void removeAttribute(String name) 移除name 属性的值EL取值${ername} 取出Page 范围的username 变量${ername} 取出Request 范围的username 变量${ername} 取出Session 范围的username 变量${ername} 取出Application 范围的username 变量JSTL详解(一)1、环境配置先来搭下环境,jstl的包当然是不能少的拉。

其次,下载必须的标签库或者是java的标签库文件。

没有的话,也可以联系我xxx_programer@将jstl 1.1.jar加到class中,(这就不要我详细的讲了吧),然后将标签库放到WEB-INF 下或则将java的标签库文件(*.jar)放到WEB-INF\lib下,就可以写测试代码了。

first_jstl.jsp<%@ taglib prefix="c" uri="/jsp/jstl/core" %><%@ page contentType="text/html; charset=gb2312" language="java" %><c:set var="userName" value="hellking"/><c:set value="16" var="age"/>欢迎您,<c:out value="${userName}"/><hr><c:forEach var="i" begin="1" end="5"><font size=${i}>${i}</font><br></c:forEach><c:if test="${age<18}">对不起,你的年龄过小,不能访问这个网页◎!</c:if><br></body></html>web.xml(使用java的标签库文件*.jar)<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee web-app_2_4.xsd"version="2.4"><display-name>jstl test</display-name><description>jstl test</description></web-app>(使用标签库文件*.tld)<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"version="2.4"><taglib><taglib-uri>/jstl/fmt</taglib-uri><taglib-location>/WEB-INF/fmt.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/fmt-rt</taglib-uri><taglib-location>/WEB-INF/fmt-rt.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/core</taglib-uri><taglib-location>/WEB-INF/c.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/core-rt</taglib-uri><taglib-location>/WEB-INF/c-rt.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/sql</taglib-uri><taglib-location>/WEB-INF/sql.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/sql-rt</taglib-uri><taglib-location>/WEB-INF/sql-rt.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/x</taglib-uri><taglib-location>/WEB-INF/x.tld</taglib-location></taglib><taglib><taglib-uri>/jstl/x-rt</taglib-uri><taglib-location>/WEB-INF/x-rt.tld</taglib-location></taglib></web-app>好了,一个最简单的包含有jstl的页面设计完成了。

下面测试。

http://localhost:8080/jstl/frist_jstl.jsp页面输出结果:欢迎您,hellking12345对不起,你的年龄过小,不能访问这个网页◎!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="/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的属性。