JSTL学习笔记

原创 2013年12月04日 09:44:00
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib prefix="c" uri="c.tld资源文件中有定义" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'JSTL_test.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>
    <h1>测试jstl核心库</h1>
    <hr>
    <li>测试c:out</li>
    hello(default):<c:out value="${hello}"/><br>
    hello(el表达式):${hello }<br>
    hello(如果不存在可以使用默认值huangbiao):<c:out value="${hello}" default="huangbiao"></c:out>
    hello(如果不存在可以使用默认值huangbiao):<c:out value="${hello}">huangbiao</c:out>
    
    <li>测试c:set和c:remove</li>
    <c:set value="123" var="temp"/>
    temp:${temp }<br>
    <c:remove var="temp"/>
    temp:${temp }<br>
    
    <li>测试条件控制标签c:if</li>
    <c:if test="${v1 lt v2}" var="v">
    `	v1 小于 v2<br>
    	v = ${v }
    </c:if>
    
    <c:if test="${empty v3}">
    	v3为空
    </c:if>
    <c:if test="${not empty v4}">
    	v4不为空
    </c:if>
    
    <li>测试条件控制的标签c:choose,c:when,c:otherwise</li>
    <c:choose>
    	<c:when test="${v1 lt v2}">
    		v1 小于 v2
    	</c:when>
    	<c:when test="${v1 eq v2}">
    		v1 等于 v2
    	</c:when>
    	<c:otherwise>
    		不知道
    	</c:otherwise>
    </c:choose>
 
<li>测试循环控制标签c:forEach</li>
    <table>
    	<tr>
    		<td>姓名</td>
    		<td>年龄</td>
    		<td>所属组</td>
    	</tr>
    	<c:choose>
    		<c:when test="${empty userlist}">
    			<tr>
    				<td>没有符合条件的数据</td>
    			</tr>
    		</c:when>
    		<c:otherwise>
    			<c:forEach item="${userlist}" var="user">
    				<tr>
    					<td>${user.username }</td>
			    		<td><${user.age }/td>
			    		<td>${user.group.name }</td>
    				</tr>
    			</c:forEach>
    		</c:otherwise>
    	</c:choose>
    </table>
    
    <li>测试循环控制标签c:forEach,varstatus</li>
    <table border="1">
    	<tr>
    		<td>姓名</td>
    		<td>年龄</td>
    		<td>所属组</td>
    	</tr>
    	<c:choose>
    		<c:when test="${empty userlist}">
    			<tr>
    				<td>没有符合条件的数据</td>
    			</tr>
    		</c:when>
    		<c:otherwise>
    			<c:forEach items="${userlist}" var="user" varStatus="vs">
    				<c:choose>
    					<c:when test="${vs.count % 2 == 0}">
    						<tr bgcolor="red">
    					</c:when>
    					<c:otherwise>
    						<tr>
    					</c:otherwise>
	    					<td>${user.username }</td>
				    		<td><${user.age }/td>
				    		<td>${user.group.name }</td>
	    				</tr>
    				</c:choose>
    			</c:forEach>
    		</c:otherwise>
    	</c:choose>
    </table>
    
    
 <li>测试循环控制标签c:forEach,begin,end,step</li>
    <table border="1">
    	<tr>
    		<td>姓名</td>
    		<td>年龄</td>
    		<td>所属组</td>
    	</tr>
    	<c:when test="${empty userlist}">
   			<tr>
   				<td>没有符合条件的数据</td>
   			</tr>
    	</c:when>
   		<c:otherwise>
   			<c:forEach items="${userlist}" var="user" begin="2" end="8" step="2">
   				<tr>
   					<td>${user.username }</td>
		    		<td><${user.age }/td>
		    		<td>${user.group.name }</td>
   				</tr>
   			</c:forEach>
   		</c:otherwise>
    
    <li>测试循环控制标签c:forEach,普通循环</li>
    <c:forEach begin="1" end="10">
    	a<br>
    </c:forEach>
    
    <li>测试循环控制标签c:forEach,输出map</li>
    <c:forEach items="${maplist}" var="v">
    	${v.key }-----${v.value }<br>
    </c:forEach>
    
    <li>测试c:catch</li>
    <%
    	try{
    		Integer.parseInt("dsafd");
    	}catch(Exception e){
    		out.println(e.getMessage());
    	}
     %>
    <c:catch var="info">
    	<%
    		Integer.parseInt("dsafd");
    	 %>
    </c:catch>
    ${info }<br>
    
    <li>测试c:import</li>
    相当于include用法<br>
    <c:import url="hb.html"/>
    <c:import url="http://localhoust:8080/struts_login"/>
    
    <li>测试c:url 和 c:param</li>
    <c:url value="http://localhost:8080/drp/user_add.jsp" value="v">
    	<c:param name="username" value="jack"/>
    	<c:param name="age" value="20"></c:param>
    </c:url>
    ${v}<br>
    
    <li>重定向c:redirect</li>
    <c:redirect context="/struts_login" url="/index.jsp"></c:redirect>
    
  </body>
</html>
 

 

判断list中的变量与具体的字符串比较

<c:forEach items="${hb}" var="hobby" varStatus="vs">
	<c:choose>
		<c:when test="${hobby == 'basketball'}">
			篮球<input type="checkbox" name="hobbies" value="basketball">
		</c:when>
		<c:when test="${hobby == 'football'}">
			足球<input type="checkbox" name="hobbies" value="football">
		</c:when>
		<c:when test="${hobby == 'tennis'}">
			网球<input type="checkbox" name="hobbies" value="tennis">
		</c:when>
	</c:choose>
</c:forEach>

 

jstl的uri

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

 

jstl标签学习笔记

  • 2016年02月22日 12:40
  • 2.31MB
  • 下载

el和jstl学习笔记.

  • 2012年03月19日 11:20
  • 129KB
  • 下载

Java for Web学习笔记(二九):JSTL(5)FMT Tag(上)

FMT Tag何用如果我们要编写国际化的程序,就涉及很多本地化的场景,使用不同的语言,使用不同的时间、金钱等表述习惯。J2EE提供了i18n来实现国际化的框架,在这个框架下,我们可以为不同的地区进行本...

Java for Web学习笔记(二八):JSTL(4)Core Tag(下)

给个例子来复习一下,模拟地址本显示。 联系人类:Contact 这里顺便学些一下自动排序的做法,定义Contact类,实现Comparable接口。Contact是个简单的POJO,getter和s...

JSTL 标签库 使用(web基础学习笔记十九)

标签库概要: 一、C标签库介绍 1.1、 核心标签库  JSTL 核心标签库(C标签)标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2....

JSTL标签学习笔记

JSTL的目的是规范并统一JSP动态网页开发中基本任务的标记实现,如进行动态数据的显示判断,数据库记录字段的循环显示等 JSTL按照完成任务的不同,分类为如下标记库和标记符,核心标签库、数据库操作标签...

jstl学习笔记(下)

5.标签 该标签用于设定默认时区或者将时区存储在指定的JSP范围内。 【语法】: 【参数说明】:见表9-10 表9-10 标签属性说明   参数名 说明 ...

jstl学习笔记(中)

9.2.3 循环标签   循环标签主要实现迭代操作。主要包含两个标签:和标签,接下来将详细介绍这两个标签的用法。 1.标签 该标签根据循环条件遍历集合(Collection)中的元素。 【语...

JSP学习笔记(四):JSTL标签

Java EE 5开始,内置了对JSTL的支持,或者下载 jstl.jar 与 standard.jar 一、Core 核心标签库 引入标签: (一) 标签:输出数据...

Java for Web学习笔记(三一):JSTL(7)SQL Tag

一般而言,尽可能不要在数据呈现(jsp)的位置来进行数据操作,但是在一些原型设计上,确也比较便捷,因此仍有必要了解。 准备 如果我们使用mysql,一样要在pom.xml中加入: my...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSTL学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)