JSTL 1.2总结

JSTL: Jsp Standard Tag Libraries

 

JSTL is a collection of custom tags libraries. It provides common functionality that many web applications need. JSTL provides support for presentation logic (core), formatting (format), XML support (XML) and database access (SQL).

 

Expression Language (EL)

One of the limitations of JSP1.2 and earlier is that it relies heavily on Java scriptlets and Java expressions, which do not fit in the scripting and templating model that JSP espouses. With EL, you can retrieve and manipulate values in JSP scopes (session, request, page, application), headers, and parameters.

${对象.属性}  或 ${对象[属性]}ç 标准形式

 

 

<c:out value="${tagInfo.name}" default="default" escapeXml="false"/>

Out标签: value 是要输出的对象,default是当要输出的对象为null的时候,默认的输出。若对象中包含xml敏感字符,如: <,>,/的时候,escapeXml若设为false,生成的html页面就认为这些字符是xml标签,不会将其直接显示为文本形式。

 

 

<c:set var="myVar" value="${tagInfo.name}" scope="session"/>

Set标签:将定义一个在指定范围内(scope)的变量var,其值就是value。若scope不指定,则认为是page

<c:set target="${tagInfo}" property="pwd" value="999"/>

将可访问范围内的对象(target)的属性(property)设为某值(value)。这里注意一点,scope属性必须当var属性存在时才能有。

 

 

<c:if var="result" test="${tagInfo.sex eq 'M'}" scope="page">

       性别为男

</c:if>

If 标签用来做比较,判断真假的条件就是test, 并可把比较结果true or false存入一个变量var,并保存在某一范围scope,以供使用。

 

<c:if test="${result}">性别为男</c:if>

用刚才存放的变量,而不用针对同一比较反复写条件表达式。

     <c:choose>

       <c:when test="${result}">

           性别为男

       </c:when>

       <c:when test="${tagInfo.sex eq 'F'}">

           性别为女

       </c:when>

       <c:otherwise>

           中性人

       </c:otherwise>

    </c:choose>

Choose -> When -> Otherwise 是一套比较的流程。

相当于java if…else if….else

 

 

<c:url var="urlOfTome365"

    value=http://www.tom365.com/movie_2004/html/2852.html 外部URL

    scope="page"/>

定义一个在指定范围可用的变量

<c:url var="welcome"  value="Welcome.do"/> 内部URL

 

然后<c:redirect url="${urlOfTome365}" />

就可以重定向到指定的资源。

 

<c:remove var="myVar" scope="session" />

从指定范围移除名为”myVar”的对象。

 

<c:import var="importedResource" url="http://www.tom365.com" charEncoding="GB2312" scope="session"/>

Import标签可以引入外部资源,将其内容以文本(String)方式保存在var

 

<c:forEach var="item" items="${tagInfo.careers}"

    begin="1" end="6" step="2">

       <c:out value="${item.id}" />

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

    </c:forEach>

用于循环集合。 Items必须是一个集合,var是集合中的单个元素,对循环内可见。Begin表示从index为多少处开始这个循环,end表示结束的indexStep是步长,就是循环的间隔。

 

<c:forTokens var="item" items="${items}" delims=","

    begin="1" end="13" step="3">

forTokensforEach用法一样,只是多了一个delimiter分隔符

 

<c:url var="welcome" value="Welcome.do">

       <c:param name="p1" value="111"/>

       <c:param name="p2" value="222"/>

       <c:param name="p3" value="333"/>

       <c:param name="p4" value="444"/>

       <c:param name="p5" value="555"/>

</c:url>

嵌在c:url标签内,c:param标签用来给url带上参数。生成的html代码:

Welcome.do?p1=111&p2=222&p3=333&p4=444&p5=555

 

<c:catch var="ex1">

    <c:out value="${tagInfo.name.mm}" />

</c:catch>

将可能出现exception的代码块置于<c:catch>。。。。。。</c:catch>,这样如果jsp运行期间出现的异常就会被捕获到var里面。

 

<fmt:formatNumber

value="${tagInfo.salary}" type="number" pattern="###,###.##"/>

对于数字的格式化。

 

<fmt:formatNumber value="${tagInfo.salary}" type="currency"/>

对于货币的格式化,自动获得服务器的locale信息。添加如:$,¥前缀。

 

<fmt:formatNumber value="${tagInfo.salary}" type="percent" />

对于百分比格式化,就是将值乘以100再加%进行输出显示。

 

<fmt:formatDate value="${dt}" type="both" pattern="dd/MM/yyyy HH:mm:ss"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSTLJSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。   JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。   两个 JSTL 标记库验证器允许开发人员在其 JSP 应用程序中强制使用编码标准。可以配置 ScriptFreeTLV 验证器以在 JSP 页面中禁用各种类型的 JSP 脚本元素 — scriptlet、表达式和声明。类似地,PermittedTaglibsTLV 验证器可以用来限制可能由应用程序的 JSP 页面访问的定制标记库集(包括 JSTL 标记库)。   尽管 JSTL 最终将会成为 J2EE 平台的必需组件,但目前只有少数应用程序服务器包括它。JSTL 1.0 的参考实现可作为 Apache 软件基金会(Apache Software Foundation)的 Jakarta Taglibs 项目(请参阅参考资料)的一部分而获得。可以将该参考实现中的定制标记库合并到任何支持 JSP 1.2 和 Servlet 2.3 规范的服务器,以添加对 JSTL 的支持。   如果要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中,如果你还需要使用XML processing及Database access (SQL)标签,还要将相关JAR文件放到classpath中,这些JAR文件全部存在于下载回来的zip文件中。这个zip文件可以从http://jakarta.apache.org/builds/jakarta-taglibs/releases/standard/jakarta-taglibs-standard-1.0.zip下载。 .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值