`
cuisuqiang
  • 浏览: 3962693 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3672070
社区版块
存档分类
最新评论

JSTL 详解01

    博客分类:
  • J2EE
 
阅读更多

General-Purpose Actions

<c:out>

Without a body

<c:out value=”value” [escapeXml=”{true|false}”]

[default=”defaultValue”] />

With a body

<c:out value=”value” [escapeXml=”{true|false}”]>

default value

</c:out>

参数说明

Value:需要借助EL表达式来进行输出,不能直接写在域中的Key

escapeXml:是否对输出进行XML格式化,如果输出内容是HTML且该属性为true的话则直接输出

default:默认输出值,也可以如实例在标签内写默认值

如:

<c:out value="${abc}" default="123"/>
<c:out value="${abc}">123</c:out>
如果域内有Key为abc的值则输出否则输出默认值 123
<c:out value="${bj}"/>
<c:out value="${bj}" escapeXml="true"/>
<c:out value="${bj}" escapeXml="false"/>
${bj }
request.setAttribute("bj", "<font color='red'>北京欢迎您</font>");

 

 

 

 

直接输出,escapeXml="true"和使用EL表达式输出都会直接输出bj的值,而escapeXml="false"会输出字体为红色的对应值

 

<c:set>

Syntax 1: Set the value of a scoped variable using attribute value

<c:set value=”value

var=”varName” [scope=”{page|request|session|application}”]/>

Syntax 2: Set the value of a scoped variable using body content

<c:set var=”varName” [scope=”{page|request|session|application}”]>

body content

</c:set>

参数说明

Value:要进行赋的值,也可以在标签内赋值

Var:保持的变量的名称

Scope:保持在那个域中

如:

<c:set value="123" var="temp"/>
<c:set var="temp1">
    456
</c:set>   
temp:${temp }
temp1:${temp1 }

 

 

 

 

<c:remove>

<c:remove var=”varName”

[scope=”{page|request|session|application}”]/>

参数说明:

Var:要移除的变量的Key

如:

<c:remove var="temp"/>

 

 

 

 

 

<c:catch>

<c:catch [var=”varName”]>

nested actions

</c:catch>

参数说明:

Var:异常信息

可能出异常的代码放置在标签内即可

如:

<c:catch var="exinfo">
    <%
       Integer.parseInt("asdfsdf");
    %>
</c:catch>
${exinfo }

 

 

 

 

Conditional Actions

<c:if>

Syntax 1: Without body content

<c:if test=”testCondition

var=”varName” [scope=”{page|request|session|application}”]/>

Syntax 2: With body content

<c:if test=”testCondition

[var=”varName”] [scope=”{page|request|session|application}”]>

body content

</c:if>

参数说明:

TestBoolean型的值,用于进行判断

VarTrue False,比较结果

Scope:比较结果的保存域

如:

<c:if test="${v1 lt v2}" var="v">
    v1小于v2
v=${v }
</c:if>
<c:if test="${empty v3}">
    v3为空
</c:if>

 

 

 

 

输出项只有条件成立的时候才会执行

 

<c:choose>

<c:when>

<c:otherwise>

三者结合使用<C:chose>必须有一个<C:when><C:when>必须在<C:otherwise>前面,<C:when>可以有多个,<C:otherwise>只能有一个。

<c:choose>

body content (<when> and <otherwise> subtags)

</c:choose>

<c:when test=”testCondition”>

body content

</c:when>

<c:otherwise>

conditional block

</c:otherwise>

参数说明:

TestBoolean型的值,用于进行判断

如:

<c:choose>
    <c:when test="${v1 lt v2}">
       v1小于v2<br>
    </c:when>
    <c:otherwise>
       v1大于v2<br>
    </c:otherwise>
</c:choose>

 

 

 

 

 

<c:forEach>

Syntax 1: Iterate over a collection of objects

<c:forEach[var=”varName”] items=”collection

[varStatus=”varStatusName”]

[begin=”begin”] [end=”end”] [step=”step”]>

body content

</c:forEach>

Syntax 2: Iterate a fixed number of times

<c:forEach [var=”varName”]

[varStatus=”varStatusName”]

begin=”begin” end=”end” [step=”step”]>

body content

</c:forEach>

参数说明

Items:要输出的集合

Var:保存每次循环的变量

varStatus:状态,如已经输出到多少行

begin:如果集合有多条数据,可以指定从那条数据开始输出

end:指定到哪里结束

step:多条数据输出的增长幅度

如:

<table border="1">
    <tr>
       <td>姓名</td>
       <td>年龄</td>
       <td>所属组</td>
    </tr>
    <c:choose>
       <c:when test="${empty userlist}">
           <tr>
              <td colspan="3">没有符合条件的数据!</td>
           </tr>
       </c:when>
       <c:otherwise>
           <c:forEach items="${userlist}" var="user" begin="2" varStatus="vst" end="8" step="1">
              <c:choose>
              <c:when test="${vst.count % 2 == 0}">
                  <tr bgcolor="red">
              </c:when>
              <c:otherwise>
                  <tr>
              </c:otherwise>
           </c:choose>
                  <td>${user.username}</td>
                  <td>${user.age}</td>
                  <td>${user.group.name }</td>
              </tr>
           </c:forEach>
       </c:otherwise>
    </c:choose>

 

 

 

 

 

分享到:
评论
6 楼 cuisuqiang 2012-08-03  
操作符
   
功能和作用
.
   
访问一个 bean 属性或者 Map entry
[]
   
访问一个数组或者链表元素
()
   
对子表达式分组,用来改变赋值顺序
? :
   
条件语句,比如:条件 ?ifTrue:ifFalse
如果条件为真,表达式值为前者,反之为后者
+
   
数学运算符,加操作
-
   
数学运算符,减操作或者对一个值取反
*
   
数学运算符,乘操作
/ 或 div
   
数学运算符,除操作
% 或 mod
   
数学运算符,模操作 ( 取余 )
== 或 eq
   
逻辑运算符,判断符号左右两端是否相等,如果相等返回 true ,否则返回 false
!= 或 ne
   
逻辑运算符,判断符号左右两端是否不相等,如果不相等返回 true ,否则返回 false
< 或 lt
   
逻辑运算符,判断符号左边是否小于右边,如果小于返回 true ,否则返回 false
> 或 gt
   
逻辑运算符,判断符号左边是否大于右边,如果大于返回 true ,否则返回 false
<= 或 le
   
逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回 true ,否则返回 false
>= 或 ge
   
逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回 true ,否则返回 false
&& 或 and
   
逻辑运算符,与操作赋。如果左右两边同为 true 返回 true ,否则返回 false
|| 或 or
   
逻辑运算符,或操作赋。如果左右两边有任何一边为 true 返回 true ,否则返回 false
! 或 not
   
逻辑运算符,非操作赋。如果对 true 取运算返回 false ,否则返回 true
empty
  
用来对一个空变量值进行判断 : null 、一个空 String 、空数组、 空 Map 、没有条目的 Collection 集合
5 楼 jqyp324 2010-09-07  
前面的例子最好输出结果也贴出来
4 楼 cuisuqiang 2010-09-06  
不好意思,我是先写到Word里的,由于那么多的东西都要往JavaEye里搬,所以好多就没有调格式!
确实不好看哦,呵呵呵,我有时间调一下吧!
3 楼 ymmt 2010-09-02  
文字大大小小的,看着好累啊!“”
2 楼 cuisuqiang 2010-08-18  
再大的系统也是常用逻辑架起来的!呵呵呵!
1 楼 adminfxing 2010-08-12  
这些已经可以满足是开发中最常用的逻辑了~不错。

相关推荐

    JSTL详解

    JavaServer Pages Standard Tag Library (JSTL) 是一套用于简化JSP开发的标签库,它提供了许多预定义的标签,让开发者能够以更简洁、更易于理解和维护的方式编写JSP页面。JSTL的主要目标是减少在JSP页面中使用脚本...

    JSTL详解 DOC文档 较全的JSTL标记说明

    ### JSTL详解 #### 一、JSTL简介与环境搭建 JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是为简化和标准化 JavaServer Pages 开发而设计的一组标准标签。通过使用 JSTL,开发者...

    jstl标签详解jstl标签详解jstl标签详解

    在实际开发中,`JSTL_标签库详解(一个不漏).doc`和`JSTL核心标签库.doc`这样的文档是极有价值的参考资料,它们详细解释了每个标签的用法、属性以及示例,可以帮助开发者快速理解和掌握JSTL的使用。确保阅读并理解...

    JSTL详解---附源码

    **JSTL详解** JSTL,全称JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它提供了一套用于处理常见JSP任务的标签,如迭代、条件判断、XML处理等,旨在减少在JSP页面中的脚本代码,提高页面的...

    EL JSTl详解word文档

    **JSTL (JavaServer Pages Standard Tag Library)** 是一套用于简化JSP开发的标签库,由Apache Jakarta组织维护,并遵循Sun公司的Java规范。它旨在提供一种标准的方式来处理常见的页面逻辑,减少在JSP中直接使用Java...

    Java版数据结构和IO结构图+JSTL详解

    本资料包涵盖了三个关键主题:Java数据结构、IO(输入/输出)结构图以及JSTL(JavaServer Pages Standard Tag Library)的详解,这些都是Java开发中的核心概念。下面将逐一深入探讨这些知识点。 首先,我们来谈谈...

    JSTL详解--Core 标签库介绍

    **JSTL详解--Core标签库介绍** JavaServer Pages(JSP)标准标记库(JSTL)是一个关键的工具,旨在减少JSP页面中的脚本元素,提高代码的可维护性和可读性。JSTL包含了一系列定制的标记库,用于实现常见的Web应用...

    JSTL详解--jsp页面编写规范详解

    ### JSTL详解—JSP页面编写规范 #### 概述 JSTL(JSP Standard Tag Library,JSP标准标签库)是一种被广泛应用于JavaServer Pages (JSP) 页面中的标准化标签库,旨在简化JSP页面开发过程,提高代码可读性和可维护...

    el与jstl详解

    - **引入必要的JAR包**:为了使用JSTL,需要在项目中添加`jstl-1.2.jar`和`standard.jar`两个JAR包。 - **定义标签库前缀**:在JSP页面顶部使用`&lt;%@ taglib %&gt;`指令定义JSTL的前缀。例如: ```jsp ...

    JSTL详解.pdf

    在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示 逻辑已经不是新技术了...鉴于此,出现了 JSTL(JSP Standard Tag Library)。大多数 JSP 页面逻辑 提供了实现的 JSTL 技术,该技术本身就是一个标签库。

    JSTL详解--标签库介绍.doc

    ### JSTL详解--标签库介绍 #### 一、引言 JSTL(JavaServer Pages Standard Tag Library),即JavaServer Pages标准标签库,是一种专为简化和增强JSP(JavaServer Pages)页面开发而设计的技术。通过提供一组预定...

    java jstl学习详解过程

    ### Java JSTL 学习详解过程 #### JSTL简介 JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是一组由 Sun Microsystems 提供的标准标签库,它允许开发者在 JSP 页面中使用预定义的...

    JSTL详解,一份很不错的JSTL学习文档

    **JSTL(JavaServer Pages Standard Tag Library)**是Java服务器端的一个标准标签库,它提供了一系列的标签来简化JSP页面的开发,使得开发者能够更专注于业务逻辑而不是底层的Java代码。本篇文档将深入讲解JSTL的核心...

Global site tag (gtag.js) - Google Analytics