JSTL标签库的常用操作

简介

jstl标签,java standard tag libarary  。java标准标签库。

jstl标签库分类:

  1. 核心标签库(重要)(c
  2. 国际化标签库(fmt)
  3. EL函数库(fn)
  4. SQL标签库(sql)
  5. XML标签库(x)

使用jstl标签

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

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"));
          	pageContext.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>

普通for循环    

<c:forEach begin="2" end="10" var="number">

</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>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值