用于赋值的<c:set>标签
<c:set>标签用于为变量或JavaBean中的变量属性赋值的工作。它的属性和描述如表9.4所示:
表9.4 <c:set>标签属性和说明
属性
|
描述
|
value
|
值的信息,可以是EL表达式或常量
|
target
|
被赋值的JavaBean实例的名称,若存在该属性则必须存在property属性(可选)
|
property
|
JavaBean实例的变量属性名称(可选)
|
var
|
被赋值的变量名(可选)
|
scope
|
变量的作用范围,若没有指定,默认为page(可选)
|
当不存在value的属性时,将以包含在标签内的实体数据作为赋值的内容。下面看一个示例:
<c:set value="this is andy" var="oneString"/>
${oneString} <br>
该示例将为名为“oneString”的变量赋值为“this is andy”,其作用范围为page。
9.3.3用于删除的<c:remove>标签
<c:remove>标签用于删除存在于scope中的变量。它的属性和描述如表9.5所示:
表9.5 <c:remove>标签属性和说明
属性
|
描述
|
var
|
需要被删除的变量名
|
scope
|
变量的作用范围,若没有指定,默认为全部查找(可选)
|
下面看一个示例:
<c:remove var="sampleValue" scope="session"/>
${sessionScope.sampleValue} <br>
该示例将存在于Session中名为“sampleValue”的变量删除。下一句EL表达式显示该变量时,该变量已经不存在了。
9.3.4用于异常捕获的<c:catch>标签
<c:catch>标签允许在JSP页面中捕捉异常。它包含一个var属性,是一个描述异常的变量,改变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。看一个示例。
<c:catch var="err">
${param.sampleSingleValue[9] == 3}
</c:catch>
${err}
当“${param.sampleSingleValue[9] == 3}”表达式有异常时,可以从var属性“err”得到异常的内容,通常判断“err”是否为null来决定错误信息的提示。
9.3.5用于判断的<c:if>标签
<c:if>标签用于简单的条件语句。它的属性和描述如表9.6所示:
表9.6 <c:if>标签属性和说明
属性
|
描述
|
test
|
需要判断的条件
|
var
|
保存判断结果true或false的变量名,该变量可供之后的工作使用(可选)
|
scope
|
变量的作用范围,若没有指定,默认为保存于page范围中的变量(可选)
|
下面看一个示例:
<c:if test="${paramValues.sampleValue[2] == 12}" var="visits">
It is 12
</c:if><br>
${visits} <br>
该示例将判断request请求提交的传入控件数组参数中,下标为“2”的控件内容是否为“12”,若为12则显示“It
is 12”。判断结果被保存在page范围中的“visits”变量中。
9.3.6用于复杂判断的<c:choose>、<c:when>、<c:otherwise>标签
这三个标签用于实现复杂条件判断语句,类似“if,elseif”的条件语句。
q<c:choose>标签没有属性,可以被认为是父标签,<c:when>、<c:otherwise>将作为其子标签来使用。
q<c:when>标签等价于“if”语句,它包含一个test属性,该属性表示需要判断的条件。
q<c:otherwise>标签没有属性,它等价于“else”语句。
下面看一个复杂条件语句的示例。
<c:choose>
<c:when test="${paramValues.sampleValue[2] == 11}">
not 12 not 13,it is 11
</c:when>
<c:when test="${paramValues.sampleValue[2] == 12}">
not 11 not 13,it is 12
</c:when>
<c:when test="${paramValues.sampleValue[2] == 13}">
not 11 not 12,it is 13
</c:when>
<c:otherwise>
not 11、12、13
</c:otherwise>
</c:choose>
该示例将判断request请求提交的传入控件数组参数中,下标为“2”控件内容是否为“11”或“12”或“13”,并根据判断结果显示各自的语句,若都不是则显示“not
11、12、13”。
9.3.7用于循环的<c:forEach>标签
<c:forEach>为循环控制标签。它的属性和描述如表9.7所示:
表9.7 <c:forEach>标签属性和说明
属性
|
描述
|
items
|
进行循环的集合(可选)
|
begin
|
开始条件(可选)
|
end
|
结束条件(可选)
|
step
|
循环的步长,默认为1(可选)
|
var
|
做循环的对象变量名,若存在items属性,则表示循环集合中对象的变量名(可选)
|
varStatus
|
显示循环状态的变量(可选)
|
下面看一个集合循环的示例。
<%ArrayList arrayList = new ArrayList();
arrayList.add("aa");
arrayList.add("bb");
arrayList.add("cc");
%>
<%request.getSession().setAttribute("arrayList", arrayList);%>
<c:forEach items="${sessionScope.arrayList}" var="arrayListI">
${arrayListI}
</c:forEach>
该示例将保存在Session中的名为“arrayList”的ArrayList类型集合参数中的对象依次读取出来,items属性指向了ArrayList类型集合参数,var属性定义了一个新的变量来接收集合中的对象。最后直接通过EL表达式显示在页面上。下面看一个简单循环的示例。
<c:forEach var="i" begin="1" end="10" step="1">
${i}<br />
</c:forEach>
该<nobr><a target="_blank" style="color:rgb(0,0,255)">示例</a></nobr>从“1”循环到“10”,并将循环中变量“i”显示在页面上。
9.3.8用于分隔字符的<c:forTokens>标签
<c:forTokens>标签可以根据某个分隔符分隔指定字符串,相当于java.util.StringTokenizer类。它的属性和描述如表9.8所示:
表9.8 <c:forTokens><nobr><a target="_blank" style="color:rgb(0,0,255)">标签</a></nobr>属性和说明
属性
|
描述
|
items
|
进行分隔的EL表达式或常量
|
delims
|
分隔符
|
begin
|
开始条件(可选)
|
end
|
结束条件(可选)
|
step
|
循环的步长,默认为1(可选)
|
var
|
做循环的对象变量名(可选)
|
varStatus
|
显示循环状态的变量(可选)
|
下面看一个示例。
<c:forTokens items="aa,bb,cc,dd" begin="0" end="2" step="2" delims="," var="aValue">
${aValue}
</c:forTokens>
需要分隔的字符串为“aa,bb,cc,dd”,<nobr><a target="_blank" style="color:rgb(0,0,255)">分隔符</a></nobr>为“,”。begin<nobr><a target="_blank" style="color:rgb(0,0,255)">属性</a></nobr>指定从第一个“,”开始分隔,end属性指定分隔到第三个“,”,并将做循环的<nobr><a target="_blank" style="color:rgb(0,0,255)">变量</a></nobr>名指定为“aValue”。由于步长为“2”,使用EL<nobr><a target="_blank" style="color:rgb(0,0,255)">表达式</a></nobr>${aValue}只能显示“aa
cc”。
分享到:
相关推荐
spring3.0.4+hibernate3.5.0+proxool 0.9.1+jstl整合最新的JAVA WEB框架,没有使用struts2,视图层使用spring MVC.
以用户管理为例,结合spring struts hibernate dwr jstl做的实例,struts hibernate dwr 与Spring完全结合,实现用户列表、信息增、删、改、查、维护时用户重名提示等功能,还包括页面自动转码设置(web.xml),...
1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级... 使用主流的JSP标签JSTL,STRUTS2 标签 ongl数据显示 是一个集成好多主流技术的两个显示数据与登陆的DEMO
Struts与表现层技术的结合 JSTL EL表达式语言简介
Apache的Struts2已经是很流行的MVC Web框架了,很多Web开发人员都是使用它做为Web...像Struts2的常用配置功能笔者就不在说了,在此结合作者的Web相关技术(Struts2、JSTL、EL……)使用经验做个总结,希望与您有个共鸣。
2.显示数据与struts2结合实现各行变色 3.基于jquery.form插件的无刷新表单提交,实现无刷新效果 实现环境:struts2.2.1、jdk6、jboss5.1、pager-taglib、mysql 以上环境内通过测试,具体用法请参考项目内readme.txt ...
2.显示数据与struts2结合实现各行变色 3.基于jquery.form插件的无刷新表单提交,实现无刷新效果 实现环境:struts2.2.1、dbutils1.3、jdk6、jboss5.1、pager-taglib、mysql、eclipse3.5 以上环境内通过测试,具体...
全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章,...
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章...
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章,...
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章,...
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章,...
10章 JSP标准标签库(JSTL) 11章 关系数据库与JDBC基础 12章 JSP与Java Mail Web应用 13章 XML在JSP中的应用 14章 使用Servlet过滤器和监听器 15章 JSP Web应用的安全性 16章 Tomcat容器的JSP 17章 在JSP中使用...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用JDOM解析XML、在JSP中应用SAX解析XML、EL表达式、JSTL标签库、自定义标签、Hibernate...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用JDOM解析XML、在JSP中应用SAX解析XML、EL表达式、JSTL标签库、自定义标签、Hibernate...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用JDOM解析XML、在JSP中应用SAX解析XML、EL表达式、JSTL标签库、自定义标签、Hibernate...
在Struts框架中,JSP结合JSTL和EL标签用于前端展现,Servlet 用于控制,Action 用于处理前端页面JSP发来的请求,请求参数通过ActionForm进行传递,Action 在获得请求后将处理结果转发到相应的JSP进行展现。使用...
1次课 第8章 JSP和Servlet结合.ppt 1.5次课 第9章 JSP开发常用技巧.ppt 1.5次课 第10章 JSP数据库开发.ppt 1次课 第11章 JDBC编程高级问题.ppt 1.5次课 第12章 开发自定义标记.ppt 1.5次课 第13章 标准标记库...
用struts1.2,jstl1.1实现jsp的动态文本框数组,没用ecodingFilter所以不支持中文,早上刚写出来的,新鲜热辣~ 直接部署到tomcat就可以用了 至于如何结合数据库实现动态就不写出来了,因为已经能从form里面拿到数据了,...