您的位置:首页 > Web前端 > JavaScript

JSTL标签

2016-05-20 16:02 495 查看
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>


以上是表达式标签和流程控制标签,后续内容,关注下一篇!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jstl