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

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标签详解jstl标签详解jstl标签详解

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

    JSTL详解

    JSTL详解:一般用途的标签;条件标签;迭代标签……

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

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

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

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

    JSTL标签详解文档

    JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解JSTL标签详解发 共80多页文档。很详细

    struts JSTL详解.doc

    JSTL详解.docJSTL详解.docJSTL详解.docJSTL详解.doc

    JSTL详解---附源码

    JSTL详解,附源码,个人认为是比较好的资料.简单易懂.

    JSTL详解--EL表达式

    JSTL详解--EL表达式 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现。鉴于此,出现了 JSTL ( JSP Standard Tag ...

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

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

    JSTL全程详细教程

    JSTL详解,JSTL详解JSTL详解JSTL详解JSTL详解JSTL详解JSTL详解

    JSTL表达式详解(JAVA)

    JSTL表达式详解,JSTL表达式详解JSTL表达式详解

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

    JSTL详解--标签库介绍。用以详细的介绍JSTL标签库

    EL JSTl详解word文档

    史上最详细的el表达式,jstl标签的说明,一份word文档在手,搞定标签不求人

    jstl标签详解.doc

    jstl标签详解,当编写jsp时难免用到jstl标签,而且jstl也非常方面,文档中介绍了常用的jstl标签的用法。

    jstl标签.rar

    jstl详解,程序员html开发必备,jstl详解,程序员html开发必备,jstl详解,程序员html开发必备,jstl详解,程序员html开发必备

    JSTL详解--Core 标签库介绍

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列...

    JSTL详解.pdf

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

Global site tag (gtag.js) - Google Analytics