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

JSTL标签库的常用操作

2017-10-31 19:05 666 查看

简介

jstl标签,java standard tag libarary  。java标准标签库。
jstl标签库分类:
核心标签库(重要)(c)
国际化标签库(fmt)
EL函数库(fn)
SQL标签库(sql)
XML标签库(x)

使用jstl标签

导入jstl的支持jar包,在jee5.0之后jstl已经是属于5.0的支持包里面。
使用jsp页面,需要在jsp的顶部使用taglib指令导入需要的标签库
使用标签

1.保存数据:
<c:set value="表达式" var = "varname" [scope="request|page|session|application"]>
<%--默认存到page域 也可以是--%>
<c:set var="varname">表达式</c:set>

2.获取数据:
<c:out value="表达式" [escapeXML="true|false"] [default=""] />
${表达式}
<!-- 上述两种作用是一样的,但标签的作用可以当表达式内的值为null时,可以设置default值代替 --!>
<!--escapeXMLde的默认值是true,即将特殊字符转换,false则会把html格式输出 -->

3.单条件判断:
<c:if test="判断条件" [var="varname"] [score="{request|page|session|application}"]>
条件为真是执行的语句
</c:if>
<!-- test必须写 true时走-->

4.多条件判断:
<c:choose>

<c:when test="表达式"> 为真时走</c:when>

<c:otherwise>为假时候走</c:otherwise>

</c:choose>

5.用于迭代:
List集合:
<%
List<Student> list = new ArrayList<Student>();
list.add(new Student("eric","123456"));
list.add(new Student("lily","123456"));
list.add(new Student("maxwell","123456"));
pageContext.setAttribute("list",list);
%>
<c:forEach items="${list}" var="student" varStatus="varSta">
序号:${varSta.count }   姓名:${student.name1 } 密码: ${student.password }<br/>
</c:forEach>

<hr/>

Map集合:
<%
Map<String,Student> map = new HashMap<String,Student>();
map.put("001",new Student("eric","123456"));
map.put("002",new Student("jacky","123456"));
map.put("003",new Student("rose","123456"));
pageCon
b5a8
text.setAttribute("map",map);
%>
<%--
注意: forEach标签遍历Map集合时,把每个Map的对象使用Entry封装,
Entry封装键对象和值对象,通过getKey()获取键对象,通过getValue()获取值对象
--%>
<c:forEach items="${map}" var="entry">
编号: ${entry.key }  姓名:${entry.value.name1 }  密码: ${entry.value.password }<br/>
</c:forEach>
参数说明:

begin: 从哪个元素开始遍历。默认从0开始
end: 到哪个元素位置。 默认到最后一个
step: 增加步长。默认step为 1
items: 需要遍历的数据。(数组|List集合|Map集合) 如果是获取域数据,那么使用EL表达式获取
var: 每个元素名称
varStatus: 当前状态对象。该对象封装当前元素状态信息。 例如 count属性: 表示当前遍历的是哪个元素,从1开始

6.遍历特殊字符串:
<c:set var="str" value="java-net-php-c++"></c:set>

<c:forTokens items="${str}" delims="-"   var="s" >
${s },
</c:forTokens>

<%--
items: 需要遍历的字符串
delims: 指定分割符号
var: 每个内容的名称
--%>

7. 删除某域对象中的值:

<c:remove  var="varname" [scope="page|request|session|application" ]    />


8.导入文件:
<c:import url = "url" [context="context"] [var = "varname" ]
[scope = page|request|session|application] [charEncoding = "charencoding"]
[ <c:param />标签语句]
</c:param>

<!-- 与<jsp:include>相比,<jsp:include>只能是导入当前项目的文件,
<c:import>可以导入别的项目文件,context指定即可-->

<c:param name = "key" value = "value"/> <!-- 其作用与jsp动作标签的<jsp:param/>作用一样-->


9.处理异常:
<c:catch [var = "varname"] >
需要捕捉异常的程序代码
</c:catch>
<!--varname用于标识捕获的异常信息-->


10.重定向:
<c:redirect url="url" [context="context"] >
[ <c:param /> 标签语句]
</c:redirect>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: