jstl与el学习笔记

EL(Expression Language,表达式语言):

Jsp2.0后不仅可以在jstl中应用而且可以直接在jsp中应用,常见写法${expression}

长于jstl标签的test属性一起构成条件判断,如:

<c:if test=${param.age>100}>

年龄大于100

</c:if>

param是el的内置对象,表请求参数

paramValues也是内置对象,表情求参数数组,使用:${paramValues[2]}等等

JSTL(JSP Standard Taglib Language,jsp标准标签库)

有5个组成部分:

core:c

format:fmt

functions:fn

xml:xml

sql:sql

使用举例:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'choose.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <%
    	String[] namesStr = new String[]{"n1", "n2", "n3", "n4"};
    	Map<String, String> dictMap = new HashMap<String, String>();
    	dictMap.put("k1", "v1");
    	dictMap.put("k2", "v2");
    	
    	pageContext.setAttribute("names", namesStr);
    	pageContext.setAttribute("dict", dictMap);
    %>
    
    <c:forEach var="name" items="${names}" begin="1" end="2" step="1" varStatus="i">
    	名称:${name},序号:${i.index },已经输出:${i.count },是否是第一个元素:${i.first },最后?:${i.last }<br/> 
    </c:forEach>
    <br/>
    <br/>
    <c:forEach var="name" items="${dict}">
    	键:${name.key},值:${name.value }。<br/>
    </c:forEach>
  </body>
</html>
 
结果:
名称:n2,序号:1,已经输出:1,是否是第一个元素:true,最后?:false
名称:n3,序号:2,已经输出:2,是否是第一个元素:false,最后?:true


键:k1,值:v1。
键:k2,值:v2。
posted @ 2011-09-25 23:17  F.N.  阅读(283)  评论(0编辑  收藏  举报