标签库概要:

一、C标签库介绍

1.1、<c:> 核心标签库 

JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

二、表达式控制标签

2.1、out标签

<c:out value="" escapeXml="" default=""></c:out>

功能: <c:out>主要用来显示数据的内容

共有3个属性value是显示的内容,escapXML是否要转义true/false,设置为true将按原来的内容输出,flase将由浏览器解析,default设置默认值

value属性是必添的,escapeXml属性是true时,不解析特殊字符,false时,解析特殊 字符

<c:out> 用来显示数据对象(字符串、表达式)的内容或结果:

<c:out value="&lt;这是超连接&gt;" escapeXml="false" default="默认值"></c:out><br>
<c:out value="&lt;这是超连接&gt;" escapeXml="true" default="默认值"></c:out>

2.2、set标签

用于将变量存取于 JSP 范围中或 JavaBean 属性中

功能: <c:set>主要用来将变量存储至JSP 范围中或是 JavaBean 的属性或Map 对象中。 属性列表:

用户类

package com.pb.entity;

/**
* 用户类
*
* @author 森林森
*
*/
public class User {
// 用户名,密码和年龄
private String uname;
private String pwd;
// 封装
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
} }
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<<jsp:useBean id="news" class="com.pb.news.entity.News" scope="page"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:out value="&lt;这是超连接&gt;" escapeXml="false" default="默认值"></c:out><br>
<c:out value="&lt;这是超连接&gt;" escapeXml="true" default="默认值"></c:out><br>
<c:set var="name1" value="张三" scope="page"></c:set>
<c:set var="name2" scope="request">李四</c:set>
<c:set target="${news }" property="title" value="下雪了"></c:set>
<c:set target="${news }" property="id" >32</c:set>
<ul>
<li>从page中重到的值${pageScope.name1 }</li>
<li>从page中重到的值${name2 }</li>
<li>从java中获取的值title:${news.title }</li>
<li>${news.id }</li>
</ul>
</body>
</html>

2.3、remove标签

主要用来从指定的 jsp 范围内移除指定的变量。功能:主要负责移除变量

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

<c:remove var="username" scope="session"/>

${sessionScope.username}—输不出结果
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<<jsp:useBean id="news" class="com.pb.news.entity.News" scope="page"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:out value="&lt;这是超连接&gt;" escapeXml="false" default="默认值"></c:out><br>
<c:out value="&lt;这是超连接&gt;" escapeXml="true" default="默认值"></c:out><br>
<c:set var="name1" value="张三" scope="page"></c:set>
<c:set var="name2" scope="request">李四</c:set>
<c:set target="${news }" property="title" value="下雪了"></c:set>
<c:set target="${news }" property="id" >32</c:set>
<ul>
<li>从page中重到的值${pageScope.name1 }</li>
<li>从page中重到的值${name2 }</li>
<li>从java中获取的值title:${news.title }</li>
<li>${news.id }</li>
<c:remove var="name1" scope="page"/>
<c:remove var="name2" scope="request"/>
<li>从page中重到的值${pageScope.name1 }</li>
<li>从page中重到的值${name2 }</li>
</ul>
</body>
</html>

2.4、catch标签

<c:catch> 用来处理 JSP 页面中产生的异常,并存储异常信息

<c:catch var="name1">

容易产生异常的代码

</c:catch>

如果抛异常,则异常信息保存在变量 name1 中。

2.5、综合以上

package com.pb.entity;

/**
* 用户类
*
* @author 森林森
*
*/
public class User {
// 用户名,密码和年龄
private String uname;
private int pwd;
// 封装
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
} }

jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="user" class="com.pb.entity.User" scope="page"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- c:set标签普通使用 -->
<c:set var="name1" value="张三" scope="request"></c:set>
<c:set var="name2" value="李四" scope="page"></c:set>
<!-- c:set标签java Bean使用 -->
<c:set target="${user }" property="uname" value="张三丰"></c:set>
<c:set target="${user }" property="pwd" value="108101" ></c:set>
<!-- 输出里作用域可以 省略 -->
name1的值:<c:out value="${requestScope.name1 }"></c:out><br>
name2的值:<c:out value="${pageScope.name2 }"></c:out><br>
javaBean引用uname的值:<c:out value="${user.uname }"></c:out><br>
javaBean引用pwd的值:<c:out value="${user.pwd }"></c:out><br>
<!-- c:remove -->
<c:remove var="name1"/>
name1的值:<c:out value="${name1 }"></c:out><br>
<!-- 异常 -->
<!-- 以下如不加c:catch,页面将无法打开 -->
<c:catch var="c1">
<c:set target="${user }" property="age" value="18"></c:set>
javaBean中没有age属性:<c:out value="${user.age }"></c:out>
</c:catch>
<!-- 页面并没有显示 ,catch中的内容-->
<!-- 输出异常 -->
<c:out value="${c1 }"></c:out>
</body>
</html>

三、流程控制标签

3.1、if标签

功能:主要用于进行if 判断,如果为true,则输出标签体中的内容

<!-- c:set标签普通使用 -->
<c:set var="name1" value="张三" scope="request"></c:set>
<c:set var="name2" value="李四" scope="page"></c:set>
<!-- c:set标签java Bean使用 -->
<c:set target="${user }" property="uname" value="张三丰"></c:set>
<c:set target="${user }" property="pwd" value="108101" ></c:set>
<!-- 输出里作用域可以 省略 -->
<c:if test="${name1=='李四' }" var="q">
name1的值为:${name1 }
</c:if>
q的值:<c:out value="${q }"></c:out><br>
<c:if test="${name2=='李四' }" var="flag">
nam2的值:${name2 }
</c:if>
flag的值:<c:out value="${flag }"></c:out><br>
<c:if test="${user.uname=='张三丰' }" var="flag">
javaBean中user.uname的值:${user.uname }
</c:if>
flag的值:<c:out value="${flag }"></c:out><br>
<c:if test="${user.pwd eq 123}" var="flag">
javaBean中user.pwd的值:${user.pwd }
</c:if>
flag的值:<c:out value="${flag }"></c:out><br>

3.2、choose、when、otherwise

三个标签通常嵌套使用,第一个标签在最外层,最后一个标签在嵌套中只能使用一次

和java中switch 类似

switch--choose

case---when

default--otherwise

以上关系

也和多重if--else if--else if ---else功能类似

<c:choose>、<c:when>和<c:otherwise>标签的使用必须符合以下语法规则:

<c:when>和<c:otherwise>不能单独使用,它们必须位于<c:choose>父标签中。

在<c:choose>标签中可以包含一个或多个<c:when>标签。

在<c:choose>标签中可以不包含<c:otherwise>标签。

在<c:choose>标签中如果同时包含<c:when>和<c:otherwise>标签,那么<c:otherwise>必须位于<c:when>标签之后。

<%@page import="java.util.Random"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="user" class="com.pb.entity.User" scope="page"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>choose、when和otherwise标签应用示例</title>
</head>
<body>
<%
//随机产生100以内的随机整数
Random r=new Random();
int i=r.nextInt(100);
//将结果放在请求中
request.setAttribute("i", i); %>
<c:choose>
<c:when test="${i>90 }">
i的值大于90!
</c:when>
<c:when test="${i>80 }">
i的值大于80!
</c:when>
<c:when test="${i>70 }">
i的值大于70!
</c:when>
<c:when test="${i>60 }">
i的值大于60!
</c:when>
<c:when test="${i>50 }">
i的值大于50!
</c:when>
<c:otherwise>
i的值小于50,不算在内!
</c:otherwise>
</c:choose> </body>
</html>

多次刷新页面可以看到不同的结果

四、循环标签

4.1、forEach

功能: <c:forEach>为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一 遍。 属性列表:

status.index   输出当前行的索引号

status.coun   输出已遍历的行数  

status.first 输出当前行是否是第一行

status.last 输出当前行是否是最后一行

示例

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Vector"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.pb.entity.User"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="user" class="com.pb.entity.User" scope="page"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>forEach标签应用示例</title>
</head>
<body>
<%
List<User>users= new ArrayList<User>();
for(int i=0;i<5;i++){
User u=new User();
u.setUname("T"+i);
u.setPwd("00"+i);
users.add(u);
}
request.setAttribute("users", users);
%>
<table border="1" align="center">
<tr>
<th>用户名</th>
<th>密码</th>
<th>当前行的索引</th>
<th>已遍历的行数</th>
<th>是否第一行</th>
<th>是否最后一行</th>
</tr>
<c:forEach var="user" items="${users }" varStatus="status">
<tr>
<td><c:out value="${user.uname }"></c:out></td> <!-- 用户名 -->
<td><c:out value="${user.pwd }"></c:out></td> <!-- 密码 -->
<td>${status.index }</td> <!--输出当前行的索引号-->
<td>${status.count }</td><!--输出已遍历的行-->
<td>${status.first }</td> <!--输出当前行是否是第一行-->
<td>${status.last }</td> <!--输出当前行是否是最后一行-->
</tr>
</c:forEach>
</table>
<br>
<table border="1" align="center">
<tr>
<th>用户名</th>
<th>密码</th>
<th>当前行的索引</th>
<th>已遍历的行数</th>
<th>是否第一行</th>
<th>是否最后一行</th>
</tr>
<!-- 指定开始和结束位置 -->
<c:forEach var="user" items="${users }" varStatus="status" begin="0" end="2">
<tr>
<td><c:out value="${user.uname }"></c:out></td> <!-- 用户名 -->
<td><c:out value="${user.pwd }"></c:out></td> <!-- 密码 -->
<td>${status.index }</td> <!--输出当前行的索引号-->
<td>${status.count }</td><!--输出已遍历的行-->
<td>${status.first }</td> <!--输出当前行是否是第一行-->
<td>${status.last }</td> <!--输出当前行是否是最后一行-->
</tr>
</c:forEach>
</table>
<br>
<%--通过<c:forEach>输出从1到10的数据不设置步上,默认为1--%>
<c:forEach var="i" begin="1" end="10">
${i }
</c:forEach>
<br>
<%--通过<c:forEach>输出从1到10的数据--%>
<!--设置步长为2,只输出奇数 -->
<c:forEach var="i" begin="1" end="10" step="2">
${i }
</c:forEach>
<br>
<%--通过<c:forEach>输出从1到10的数据--%>
<!-- 能过c:if判断只输入偶数 -->
<c:forEach var="i" begin="1" end="10">
<c:if test="${i%2==0 }">${i }</c:if>
</c:forEach>
<br>
</body>
</html>

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Vector"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.pb.entity.User"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="user" class="com.pb.entity.User" scope="page"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>forEach标签应用示例</title>
</head>
<body>
<%
List<User>users= new ArrayList<User>();
for(int i=0;i<5;i++){
User u=new User();
u.setUname("T"+i);
u.setPwd("00"+i);
users.add(u);
}
request.setAttribute("users", users);
%>
<table border="1" align="center">
<tr>
<th>用户名</th>
<th>密码</th>
<th>当前行的索引</th>
<th>已遍历的行数</th>
<th>是否第一行</th>
<th>是否最后一行</th>
</tr>
<c:forEach var="user" items="${users }" varStatus="status">
<tr>
<td><c:out value="${user.uname }"></c:out></td> <!-- 用户名 -->
<td><c:out value="${user.pwd }"></c:out></td> <!-- 密码 -->
<td>${status.index }</td> <!--输出当前行的索引号-->
<td>${status.count }</td><!--输出已遍历的行-->
<td>${status.first }</td> <!--输出当前行是否是第一行-->
<td>${status.last }</td> <!--输出当前行是否是最后一行-->
</tr>
</c:forEach>
</table>
<br>
<table border="1" align="center">
<tr>
<th>用户名</th>
<th>密码</th>
<th>当前行的索引</th>
<th>已遍历的行数</th>
<th>是否第一行</th>
<th>是否最后一行</th>
</tr>
<!-- 指定开始和结束位置 -->
<c:forEach var="user" items="${users }" varStatus="status" begin="0" end="2">
<tr>
<td><c:out value="${user.uname }"></c:out></td> <!-- 用户名 -->
<td><c:out value="${user.pwd }"></c:out></td> <!-- 密码 -->
<td>${status.index }</td> <!--输出当前行的索引号-->
<td>${status.count }</td><!--输出已遍历的行-->
<td>${status.first }</td> <!--输出当前行是否是第一行-->
<td>${status.last }</td> <!--输出当前行是否是最后一行-->
</tr>
</c:forEach>
</table>
<br>
<%--通过<c:forEach>输出从1到10的数据不设置步上,默认为1--%>
<c:forEach var="i" begin="1" end="10">
${i }
</c:forEach>
<br>
<%--通过<c:forEach>输出从1到10的数据--%>
<!--设置步长为2,只输出奇数 -->
<c:forEach var="i" begin="1" end="10" step="2">
${i }
</c:forEach>
<br>
<%--通过<c:forEach>输出从1到10的数据--%>
<!-- 能过c:if判断只输入偶数 -->
<c:forEach var="i" begin="1" end="10">
<c:if test="${i%2==0 }">${i }</c:if>
</c:forEach>
<br>
<%--通过<c:forEach>遍历数组,枚举,集合等--%>
<%
int[]intarr=new int[]{10,20,30,40,50};
String[]strarr=new String[]{"I","am","a","handsome","boy"};
Vector v=new Vector();
v.add("This");
v.add("is");
v.add("a");
v.add("Enumeration");
v.add("example");
Enumeration e=v.elements();
HashMap h=new HashMap();
h.put("hello","0");
h.put("hello1","1");
h.put("hello2","2");
h.put("hello3","3");
h.put("hello4","4");
request.setAttribute("intarr",intarr);
request.setAttribute("strarr",strarr);
request.setAttribute("e",e);
request.setAttribute("h",h);
%>
<h3>遍历整形数组</h3>
<%--遍历整形数组--%>
<c:forEach items="${intarr }" var="i">
<c:out value="${i }"></c:out>
</c:forEach>
<h3>--遍历字符串数组--</h3>
<c:forEach items="${strarr }" var="s">
<c:out value="${s }"></c:out>
</c:forEach>
<h3>--遍历枚举--</h3>
<%--遍历枚举--%>
<c:forEach items="${e }" var="e">
<c:out value="${e }"></c:out>
</c:forEach>
<h3>--遍历HashMap--</h3>
<%--遍历HashMap--%>
<c:forEach items="${h }" var="h">
<c:out value="${h.key }"></c:out>=<c:out value="${h.value }"></c:out>
</c:forEach>
</body>
</html>

4.2、forTokens

需求,对带有相同符合格式内容进行分割输出,例如,varstr="1,2,3,4,5,6"

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>c:forTokens 标签实例</title>
</head>
<body>
<c:forTokens items="张三丰、张无忌、张翠册、殷素素" delims="、" var="item" varStatus="status">
<h4>元素的值:<c:out value="${item }"></c:out><br></h4>
当前索引<c:out value="${status.index }"></c:out><br>
当前次数<c:out value="${status.count }"></c:out><br>
是否为第一个<c:out value="${status.first }"></c:out><br>
是否为最后一个<c:out value="${status.last }"></c:out><br>
</c:forTokens> </body>
</html>

五 、URL操作标签

5.1、import

<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL。

使用<c:import>标签可以包含一个服务器中不同的网页内容。

功能: <c:import>可以把其他静态或动态文件包含至本身JSP 网页。

注意:<c:import>与<jsp:include>的区别
<jsp:include>只能包含和自己同一个Web 应用程序下的文件;

而<c:import>除了能 包含和自己同一个Web 应用程序的文件外,亦可以包含不同Web 应程序或者是其 它网站的文件

通过<c:import>标签的var和scope属性可以将url属性所对应的页面内容以String的类型存储至varName中,但此时这个页面并不会输出到主包含文件的页面中.
存储之后的数据,在需要的时候可以将它通过EL表达式将其取出.
这里我发现一个问题,在这里取出被包含页面中的内容的时候一定要注意只能直接使用EL表达式取出,而不能使用<c:out>标签取出,因为被包含页面的内容都是以String类型存储于var变量中的,所以在输出的时候通过<c:out>会以String类型输出至主包含页面之中.具体表现如下
<h4 align="center">绝对路径引入</h4>
<c:import url="http://www.baidu.com" var="b"></c:import>
<c:out value="${b }"></c:out>

换成EL表达输出则可以显示正确

<h4 align="center">绝对路径引入</h4>
<c:import url="http://www.baidu.com" var="b"></c:import>
${b }

相对路径引入

<h2 align="center">同一目录相对路径引用</h2>
<!-- 同一文件下的引用 -->
<c:import url="./cfortaoken.jsp"></c:import>
<hr>
<h2 align="center">不同目录相对路径引用</h2>
<%--<c:import>标签+var属性+<c:param>标签 三者组合使用 --%>
<c:import url="/test/cif.jsp"></c:import>
<hr>
<c:import url="/jsp/test.jsp" >
<c:param name="name" value="张三丰"></c:param>
</c:import>
<h2>传参数</h2>
<c:import url="http://www.baidu.com/s"> <!--等于在baidu中搜索oracle-->
<c:param name="wd" value="oracle"></c:param>
</c:import>

Url为本地的,并不是远程的

5.2<c:param> 标签

<c:param>标签用于在<c:import>和<c:url>标签中指定参数,而且与URL编码相关。

在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值

属性 描述 是否必要 默认值
name URL中要设置的参数的名称
value 参数的值 Body
<c:import url="/jsp/test.jsp">
<c:param name="uname1" value="john"></c:param>
<c:param name="uname2" value="Hello"></c:param>
</c:import>
<hr>
<c:url value="/jsp/test.jsp" var="pp">
<c:param name="id" value="123"></c:param>
<c:param name="name" value="java"></c:param>
</c:url>
<hr>
<br>
${pp }

5.3、url标签

功能: <c:url>主要用来产生一个URL

<h3>c url标签实例</h3>
<%--生成一个URL变量 --%>
<c:url value="http://www.baidu.com" var="conn" scope="page"></c:url>
<%--输出变量 --%>
<a href="<c:out value="${conn }"></c:out>">百度</a><br>
<c:url value="/jsp/cif.jsp" var="myurl"></c:url>
<a href="${myurl }">我的连接</a><br>
<c:out value="${myurl }"></c:out><br>

5.4、redirect标签

<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签。

该标签用来实现请求的重定向。例如,对用户输入的用户名和密码进行验证,不成功则重定向到登录页面。或者实现Web应用不同模块之间的衔接

c:redirect标签有如下属性:

属性 描述 是否必要 默认值
url 目标URL
context 紧接着一个本地网络应用程序的名称 Body
<!--重定向外部URL-->
<c:redirect url="http://www.baidu.com/">
</c:redirect> <%--相对路径本地重定向并转参 --%>
<c:redirect url="/jsp/test.jsp">
<c:param name="uname1" value="张三丰"></c:param>
<c:param name="uname2" value="张无忌"></c:param>
</c:redirect>

JSTL 标签库 使用的更多相关文章

  1. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  2. 简单实用JSTL标签库

    1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...

  3. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  4. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  5. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  6. JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释

    笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...

  7. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  8. jstl标签库基础教程及其使用代码(一)。

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  9. Struts、JSTL标签库的基本使用方法

    一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...

  10. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

随机推荐

  1. android SQLiteOpenHelper使用示例

    我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的 ...

  2. Button未设type属性时在非IE6/7中具有submit特性

    代码如下 <!DOCTYPE html> <html> <head> <title>Button在Form中具有submit的特性</title& ...

  3. Java中的静态方法和单例模式比较

    区别 单例模式方法 静态方法 实例 创建实例 无 运行 类的实例的方法 类的方法 也可以通过实例化,在通过类的实例来运行 是否可以被重写 可以 可以(子类的该方法也必须是静态方法) 调用其他静态方法 ...

  4. 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收

    前言:上一篇文章 只是 RabbitMQ 的科普,本文将仔细分析 Cinder 中 RabbitMQ 的各组件的使用.消息的发送和接收等.由于各流程步骤很多,本文只会使用若干流程图来加以阐述,尽量做到 ...

  5. [转]jQuery插件实现模拟alert和confirm

    本文转自:http://www.jb51.net/article/54577.htm (function () { $.MsgBox = { Alert: function (title, msg) ...

  6. uva 10129 play on words——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABNUAAANeCAYAAAA1BjiHAAAgAElEQVR4nOydabWsuhaFywIasIAHJK

  7. Hog SVM 车辆 行人检测

    HOG SVM 车辆检测 近期需要对卡口车辆的车脸进行检测,首先选用一个常规的检测方法即是hog特征与SVM,Hog特征是由dalal在2005年提出的用于道路中行人检测的方法,并且取的了不错的识别效 ...

  8. selenium验证车贷计算器算法

    1.验证页面上的车贷计算器算的结果是否与需求中给的公式结果一致. 页面图片: 代码如下(简单实现,需要优化): package com.test; import java.math.BigDecima ...

  9. 【Android UI设计与开发】6.底部菜单栏(三)使用Fragment+PopupWindow仿QQ空间最新版底部菜单栏

    直接看栗子吧,效果基本实现,界面微调和弹窗的优化,去做的话会很耗时说,暂时就酱紫了.上传效果动态图太大了,直接手机截图的效果图如下: 至于代码的实现主要就是自定义的菜单栏,和用 PopupWindow ...

  10. ZOJ 2674 Strange Limit

    欧拉函数. #include<iostream> #include<stdio.h> #include<string.h> #include<algorith ...