`
shinestarwang
  • 浏览: 42503 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多
一、书

 《JSP设计》有一半内容在讲JSTL,很不错的参考书

二、版本

  要注意1.0.x和1.1.x两个版本,目前最新版分别为1.0.6和1.1.2

  1.1版比1.0版多了fn标签库(常用的字符串操作在里面,特别是length、substring、等用于显示的函数)

  各个版本都可以在apache网站下载得到

三、使用中注意的问题

  在仅支持JSP1.2规范的容器中,只能使用jstl 1.0版,所以fn就不能用了,很不爽。${1 + 2}必面都要写在<c:out value='${1 + 2}' />里。在支持JSP2.0规范的容器中,可以直接使用el表达式。

四、一些BUG

  在websphere 6.0(6.0.2.13版以前)中,有fn:length函数的BUG。只有打补丁了。

        在websphere 中,如<c:out value='${var == 0 ? "非" : "是" }'  />这样的句子会出问题,tomcat下刚运行很好。应该是:jstl只是一个规范,各个web容器对其实现不同的原因吧。

五、不错的地方

  易学易用,再也没有空值特别是null的困扰,页面不容易抛出error 500错误,感觉有点象在写ASP

  最常用的只有c、fn、fmt三个库

五、一些不爽的地方

  不支持自定义函数,很郁闷,我想可能是JSTL实现作用域的问题吧。

  只有<c:if test='${}' /></c:if>没有elseif的语法,两个以上有判断只有用

  <c:choose>
  <c:when test="{...}">1</c:when>
  <c:when test="{...}">2</c:when>
  <c:otherwise>3</c:otherwise>
  </c:choose>

       forEach中如果再有个奇偶判断就好了。

  上面几点,webwok中的OGNL就做得非常好。

      <forEach begin="begin" end="end" step="step">中end的值必须大于等于begin,step也就不能继负值了。

六、常用代码:

<c:out value="${tpaMain.tpaInfo.content}" escapeXml="false" />

<fmt:formatDate value="${tpaMain.add_date}" pattern="yyyy-MM-dd hh:mm" />

格式化日期、货币单位、数字是用得最多的

<c:forEach var="companyIndustry" items="${current.companyIndustryList}">
<c:out value='${companyIndustry.craft_name} ' escapeXml='false' />
</c:forEach>

forToken有时也很有用

输出复杂的多行多列的表格,可更改columnCount的值

<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
  <c:set var="recordCount" value="0" />
  <c:set var="columnCount" value="2" />
  <c:out value='<tr>' escapeXml='false' />
  <c:forEach var="category" items="${categoryList}">
<c:if test="${(recordCount mod columnCount) eq 0 && recordCount ne 0}">
   <c:out value='</tr><tr>' escapeXml='false' />
</c:if>
<c:out value='<td' escapeXml='false' />
<c:out value='<span style="font-size: 14px;color: #db3210;font-weight: bold;">${category.craft_name}</span><br />' escapeXml='false' />
<c:forEach var="current" items="${category.categoryList}">
<a href="<c:url value='${param.url}?craft_index=${current.craft_index}' />"><c:out value="${current.craft_name}" escapeXml='false' /></a>&nbsp;
</c:forEach>
<c:out value='</td>' escapeXml='false' />
<c:set var="recordCount" value="${recordCount + 1}" />
  </c:forEach>
 
  <c:set var="column" value="${recordCount mod columnCount}" />
  <c:if test="${column ne 0}">
<c:forEach begin="${column}" end="${columnCount - 1}">
   <c:out value='<td>&nbsp;</td>' escapeXml='false' />
</c:forEach>
  </c:if>
 
  <c:if test="${recordCount eq 0}">
   <c:forEach begin="0" end="${columnCount - 1}">
<c:out value='<td>&nbsp;</td>' escapeXml='false' />
</c:forEach>
  </c:if>
 
  <c:out value='</tr>' escapeXml='false' />
</table>

分享到:
评论

相关推荐

    jstl-1.2.1 jar

    jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...

    jstl标签jar包(jstl-api-1.2和jstl-impl-1.2)

    `jstl-api-1.2.jar` 和 `jstl-impl-1.2.jar` 是JSTL的两个关键组件: 1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了所有JSTL标签库的接口和抽象类。开发人员在编写JSP页面时需要导入这个包,以便使用...

    JAVA WEB jstl资源jar包 包括jstl.jar和standard.jar

    当然可以帮助您撰写关于`jstl.jar`和`standard.jar`这两个JAR包的介绍。以下是一段示例文本: --- ### JAR包资源介绍 #### 1. jstl.jar `jstl.jar`(JavaServer Pages Standard Tag Library,简称 JSTL)是一个...

    jstl-api-1.2.jar、jstl-impl-1.2.jar

    **JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,用于简化JavaServer Pages(JSP)开发。它提供了许多预定义的标签,使得开发者可以更方便地处理常见任务,如控制流、迭代、XML处理等,而...

    JSTL相关Jar包(jstl+standard)

    JSTL,全称为JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它提供了一系列的标签来简化JSP开发,使开发者能够更高效地编写动态网页。JSTL的主要目标是减少在JSP页面中使用脚本元素,提升...

    JSTL中文帮助文档

    **JSTL(JavaServer Pages Standard Tag Library)中文帮助文档** JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,旨在简化 JSP 开发,提高代码的可读性和可维护性。它提供了多种核心标签和扩展标签,包括...

    jstljar包包含jstl.jar和standard.jar文件

    **JSTL(JavaServer Pages Standard Tag Library)**是一个用于JSP的标准标签库,它提供了一系列的标签,用于简化JSP页面中的业务逻辑处理。JSTL的主要目标是提高JSP开发的可维护性和可读性,通过使用预定义的标签,...

    jstl-impl-1.2.jar和jstl-api-1.2.jar

    "jstl-impl-1.2.jar"和"jstl-api-1.2.jar"是JSTL 1.2版本的两个关键组件,它们在Java Web应用中起着至关重要的作用。 1. **jstl-api-1.2.jar**: 这个jar文件包含了JSTL的API接口定义。它定义了所有JSTL标签库的接口...

    jstl-jar包

    **JSTL(JavaServer Pages Standard Tag Library)**是一个用于JavaServer Pages(JSP)的标签库,旨在简化Web应用程序的开发。它提供了一系列预定义的标签,使得开发者可以通过简单的XML标记来处理常见任务,而无需...

    JSTL.rar_JSTL_JSTL下载

    **JSTL(JavaServer Pages Standard Tag Library)详解** JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中的一个标准标签库,它为JSP开发者提供了丰富的、可重用的组件,用于处理常见任务,如...

    JSTL必须引用的jstl.jar和 standard.jar两个包!!

    JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中用于简化JSP页面开发的一组标准标签库。它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、国际化、XML处理等,使得JSP代码...

    jstl标准开发jar包

    **JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面的一个标准标签库,它提供了一组用于处理常见Web开发任务的标签,如迭代、条件判断、XML处理等,极大地简化了Java Servlet和JSP中的代码。...

    jstl的两个jar包

    JSTL,全称JavaServer Pages Standard Tag Library,是JavaServer Pages(JSP)标准标签库,它提供了一系列标签来简化JSP页面的编写,使页面逻辑更清晰,代码更简洁。在Java Web开发中,JSTL经常与EL(Expression ...

    jstl1.1.jar和standard1.1.jar

    今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax...

    jstl-1.2.jar免费下载

    jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...

    jstl-1.2.rar_JSTL_jstl 1.2_jstl jar_jstl-1.1.2.jar _jstl.jar

    **JSTL(JavaServer Pages Standard Tag Library)详解** JSTL,全称为JavaServer Pages Standard Tag Library,是Java Web开发中的一个标准标签库,它为开发者提供了在JSP页面中处理常见任务的标签,例如迭代、...

    购物车(JSTL实现)

    **购物车(JSTL实现)** 购物车是任何电子商务网站的核心组成部分,它允许用户临时存储想要购买的商品,以便在结账时一次性处理。在这个项目中,我们将关注使用JavaServer Pages (JSP) 和 JavaServer Pages ...

    JSTL最新版本(1.2.1)完整下载

    JavaServer Pages Standard Tag Library,简称JSTL,是用于Java Web开发的标准标签库,它提供了一组用于处理常见任务的标签,比如迭代、条件判断、XML处理等,从而减轻了在JSP页面中使用Java脚本的复杂性。JSTL ...

    JSTL标签库依赖,内含Tomcat8、Tomcat10所需JSTL依赖

    1. 添加JSTL库:将JSTL的JAR文件(如`jstl.jar`和`standard.jar`)放入项目WEB-INF/lib目录下,或者如果使用Maven或Gradle,将依赖添加到构建文件中。 2. 引用JSTL库:在JSP页面的顶部,使用`&lt;%@ taglib %&gt;`指令...

    jstl1.2标签库jar包

    在给定的压缩包文件中,我们有两个重要的JAR文件:`jstl-impl-1.2.jar`和`jstl-api-1.2.jar`。这两个文件是JSTL 1.2版本的核心组成部分。 1. **JSTL API (jstl-api-1.2.jar)** 这个JAR文件包含了JSTL的接口和抽象...

Global site tag (gtag.js) - Google Analytics