JSTL中的核心标签之表达式标签
1.:输出标签(用于在jsp中显示数据,相当于jsp中的<%= %>)
<c:out value="This is my first JSTL label"></c:out>
输出的结果:
This is my first JSTL lable
备注:value里面的值可以是常量也可以是变量。(它还是其他标签用来存值的)
对一个变量举例:
<c:out value="${变量名}"></c:out>
如果变量不存在我们可以使用default属性来进行判断;当变量存在但是是空的,用empty去判断,它的返回值:true 或者是false。
<c:out value="${变量名}" default="error"></c:out>
<c:out value="${Empty 变量名}">
当我们需要输出转义字符,用excapeXml属性来设置,它的属性值只有true 和 false 我们需要打印转义字符,设置为false。默认值是true。
<c:out value="< >" excapeXml="false"></c:out>
输出结果:< >
2:存储标签
用来存值到scope中去(为了方便看出结果,在接下来标签中,都会使用输出标签来打显示结果)
<c:set value="today" var="day" scope="session">
</c:set><c:out value="${day}"></c:out>
输出结果:today
set便签还有其他几个属性值:
target:要修改属性所属的对象
porperty:有修改的属性
<c:set target="${student}" property="number" value="31032"></c:set>
<c:out value="${student.number}"></c:out>
这两个值是成对出现的,举个简单的例子,一个学生对象。他有名字,学号,专业。target就是用来获取学生这个对象。而porperty是用来修改学生对象中的名字,学号,专业等属性的值。
3:移除标签<c:remove></c:remove>
注意:remove只能移除某个值。像上面student里面的属性值是不可以操作的
<c:set value="lucy" var="Lastname">
<c:set value="wang" var="firstname"></c:set>
<c:remove var="firstname"/>
<c:out value="${firstname}"></c:out>
输出结果: lucy
4:异常标签<c:catch></c:catch>
<c:catch value="error"></span>
<c:set target="person" porperty="number">31023</c:set>
</c:catch>
<c:out value="${error}"></c:out>
在异常标签里面中的set标签,我并没有定义一个person对象,所以我取不到set里面的value值,于是用异常标签抛出这个错误。它可以简单的理解为java中的catch语句的作用.用来存放错误代码的。
JSTL中的核心标签之流程控制标签
一:if标签的使用(跟Java中if语句差不多,不过好像没有else标签。)
属性:
test:用来存放条件的
var:用来存放条件结果的变量
scope:var属性的作用域
<%
<form action="index.jsp" methd="post">
<input type="text" value="score" />
<input type="submit" /></form>
%>
<c:if test="${score}>90" var="result">
<c:out value="优秀"></c:out></c:if>
<c:out value="${result}"></c:out>
二:choose-when-otherwise语句的使用
choose和when可以一起使用,也可以三个一起使用(如下代码,代码中用到的表单参考if语句中写的)。为了方便理解,可以理解为if-elseif-else。唯一不同的是,choose标签不可以单独使用,它至少要和when同时使用,并作为他们的父标签。其中choose和otherwise是没有属性的,只有when含有一个test(用来条件判断的)属性。
<c:choose>
<c:when test="${score}>0 && ${score}<=100">
<c:out value="你输入的分数有效"></c:out>
</c:when>
<c:otherwise>
<c:out value="输入有误,请重新输入"></c:out>
</c:otherwise>
</c:choose>
以上是表达式标签和流程控制标签,后续内容,关注下一篇!!!